ZGlmZiAtLWdpdCBhL0NIQU5HRUxPRyBiL0NIQU5HRUxPRwppbmRleCAzYTk3ZGU3Li41MGU0ZjVkIDEwMDY0NAotLS0gYS9DSEFOR0VMT0cKKysrIGIvQ0hBTkdFTE9HCkBAIC0yLDYgKzIsMzQgQEAKIENoYW5nZXMgc2luY2UgVS1Cb290IDAuMy4xOgogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCisqIFBhdGNoIGJ5IE1hcmMgU2luZ2VyLCAyOSBNYXkgMjAwMzoKKyAgRml4ZWQgcmFycCBib290IG1ldGhvZCBmb3IgSUEzMiBhbmQgb3RoZXIgbGl0dGxlLWVuZGlhbiBDUFVzLgorCisqIFBhdGNoIGJ5IE1hcmMgU2luZ2VyLCAyOCBNYXkgMjAwMzoKKyAgQWRkZWQgcG9ydCBJL08gY29tbWFuZHMuCisKKyogUGF0Y2ggYnkgTWF0dGhldyBNY0NsaW50b2NrLCAyOCBNYXkgMjAwMworICAtIGNwdS9tcGM4MjR4L3N0YXJ0LlM6IGZpeCByZWxvY2F0aW9uIGNvZGUgd2hlbiBib290aW5nIGZyb20gUkFNCisgIC0gbWlub3IgcGF0Y2hlcyBmb3IgdXR4ODI0NQorCisqIFBhdGNoIGJ5IERhbmllbCBFbmdzdHL2bSwgMjggTWF5IDIwMDM6CisgIHg4NiB1cGRhdGUKKworKiBQYXRjaCBieSBEYXZlIEVsbGlzLCA5IE1heSAyMDAzICsgMjcgTWF5IDIwMDM6CisgIGFkZCBuYW5kIGZsYXNoIHN1cHBvcnQgdG8gU1hOSTg1NVQgY29uZmlndXJhdGlvbgorICBmaXgvZXh0ZW5kIG5hbmQgZmxhc2ggc3VwcG9ydDoKKyAgLSBmaXggJ25hbmQgZXJhc2UnIGNvbW1hbmQgc28gZG9lcyBub3QgZXJhc2UgYmFkIGJsb2NrcworICAtIGZpeCAnbmFuZCB3cml0ZScgY29tbWFuZCBzbyBkb2VzIG5vdCB3cml0ZSB0byBiYWQgYmxvY2tzCisgIC0gZml4IG5hbmRfcHJvYmUoKSBzbyBoYW5kbGVzIG5vIGZsYXNoIGRldGVjdGVkIHByb3Blcmx5CisgIC0gYWRkIGRvYy9SRUFETUUubmFuZAorICAtIGFkZCAuamZmczIgYW5kIC5vb2Igb3B0aW9ucyB0byBuYW5kIHJlYWQvd3JpdGUKKyAgLSBhZGQgJ25hbmQgYmFkJyBjb21tYW5kIHRvIGxpc3QgYmFkIGJsb2NrcworICAtIGFkZCAnY2xlYW4nIG9wdGlvbiB0byAnbmFuZCBlcmFzZScgdG8gd3JpdGUgSkZGUzIgY2xlYW4gbWFya2VycworICAtIG1ha2UgTkFORCByZWFkL3dyaXRlIGZhc3RlcgorCisqIFBhdGNoIGJ5IFJ1bmUgVG9yZ2Vyc2VuLCAyMyBNYXkgMjAwMzoKKyAgVXBkYXRlIGZvciBNUEM4MjY2QURTIGJvYXJkCisKICogR2V0IChtb3N0bHkpIHJpZCBvZiBDRkdfTU9OSVRPUl9MRU4gZGVmaW5pdGlvbjsgY29tcHV0ZSByZWFsIGxlbmd0aAogICBpbnN0ZWFkIENGR19NT05JVE9SX0xFTiBpcyBub3cgb25seSB1c2VkIHRvIGRldGVybWluZSAgX2F0X2NvbXBpbGVfCiAgIF90aW1lXyAgKCEpIGlmIHRoZSBlbnZpcm9ubWVudCBpcyBlbWJlZGRlZCB3aXRoaW4gdGhlIFUtQm9vdCBpbWFnZSwKZGlmZiAtLWdpdCBhL01BS0VBTEwgYi9NQUtFQUxMCmluZGV4IGQ1NzdhYWUuLjZjMWRhMWMgMTAwNjQ0Ci0tLSBhL01BS0VBTEwKKysrIGIvTUFLRUFMTApAQCAtMTI5LDYgKzEyOSwxNSBAQAogCiBMSVNUX21pcHM9IiR7TElTVF9taXBzNGtjfSAke0xJU1RfbWlwczVrY30iCiAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIGkzODYgU3lzdGVtcworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitMSVNUX0k0ODY9InNjNTIwX2NkcCBzYzUyMF9zcHVuayBzYzUyMF9zcHVua19yZWwiCisKK0xJU1RfeDg2PSIke0xJU1RfSTQ4Nn0iCisKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAjLS0tLS0gZm9yIG5vdywganVzdCBydW4gUFBDIGJ5IGRlZmF1bHQgLS0tLS0KIFsgJCMgPSAwIF0gJiYgc2V0ICRMSVNUX3BwYwpAQCAtMTUwLDcgKzE1OSw3IEBACiBmb3IgYXJnIGluICRACiBkbwogCWNhc2UgIiRhcmciIGluCi0JNXh4fDh4eHw4MjR4fDgyNjB8NHh4fDd4eHw3NHh4fFNBfEFSTTd8QVJNOXxwcGN8YXJtfHB4YXxtaXBzKQorCTV4eHw4eHh8ODI0eHw4MjYwfDR4eHw3eHh8NzR4eHxTQXxBUk03fEFSTTl8cHBjfGFybXxweGF8bWlwc3xJNDg2fHg4NikKIAkJCWZvciB0YXJnZXQgaW4gYGV2YWwgZWNobyAnJExJU1RfJyR7YXJnfWAKIAkJCWRvCiAJCQkJYnVpbGRfdGFyZ2V0ICR7dGFyZ2V0fQpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQppbmRleCA1MzlkNDk5Li4wNDJjMTUzIDEwMDY0NAotLS0gYS9NYWtlZmlsZQorKysgYi9NYWtlZmlsZQpAQCAtNjAsNyArNjAsMTEgQEAKIENST1NTX0NPTVBJTEUgPSBhcm0tbGludXgtCiBlbmRpZgogaWZlcSAoJChBUkNIKSxpMzg2KQotI0NST1NTX0NPTVBJTEUgPSBpMzg2LWVsZi0KK2lmZXEgKCQoSE9TVEFSQ0gpLGkzODYpCitDUk9TU19DT01QSUxFID0KK2Vsc2UKK0NST1NTX0NPTVBJTEUgPSBpMzg2LWxpbnV4LQorZW5kaWYKIGVuZGlmCiBpZmVxICgkKEFSQ0gpLG1pcHMpCiBDUk9TU19DT01QSUxFID0gbWlwc180S0MtCkBAIC03MjksNiArNzMzLDEyIEBACiBzYzUyMF9jZHBfY29uZmlnCToJdW5jb25maWcKIAlALi9ta2NvbmZpZyAkKEA6X2NvbmZpZz0pIGkzODYgaTM4NiBzYzUyMF9jZHAKIAorc2M1MjBfc3B1bmtfY29uZmlnCToJdW5jb25maWcKKwlALi9ta2NvbmZpZyAkKEA6X2NvbmZpZz0pIGkzODYgaTM4NiBzYzUyMF9zcHVuaworCitzYzUyMF9zcHVua19yZWxfY29uZmlnCToJdW5jb25maWcKKwlALi9ta2NvbmZpZyAkKEA6X2NvbmZpZz0pIGkzODYgaTM4NiBzYzUyMF9zcHVuaworCiAjPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAjIE1JUFMKICM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQEAgLTc1Miw3ICs3NjIsOCBAQAogCQl8IHhhcmdzIHJtIC1mCiAJcm0gLWYgZXhhbXBsZXMvaGVsbG9fd29ybGQgZXhhbXBsZXMvdGltZXIgXAogCSAgICAgIGV4YW1wbGVzL2VlcHJvMTAwX2VlcHJvbSBleGFtcGxlcy9zY2hlZCBcCi0JICAgICAgZXhhbXBsZXMvbWVtX3RvX21lbV9pZG1hMmludHIKKwkgICAgICBleGFtcGxlcy9tZW1fdG9fbWVtX2lkbWEyaW50ciBleGFtcGxlcy84MjU1OV9lZXByb20KKwogCXJtIC1mIHRvb2xzL2ltZzJzcmVjIHRvb2xzL21raW1hZ2UgdG9vbHMvZW52Y3JjIHRvb2xzL2dlbl9ldGhfYWRkcgogCXJtIC1mIHRvb2xzL2Vhc3lsb2dvL2Vhc3lsb2dvIHRvb2xzL2JtcF9sb2dvCiAJcm0gLWYgdG9vbHMvZ2RiL2FzdGVzdCB0b29scy9nZGIvZ2RiY29udCB0b29scy9nZGIvZ2Ric2VuZApkaWZmIC0tZ2l0IGEvYm9hcmQvTUFJL2Jpb3NfZW11bGF0b3Ivc2NpdGVjaC9zcmMvdjg2Ymlvcy9jb21tYW5kLmMgYi9ib2FyZC9NQUkvYmlvc19lbXVsYXRvci9zY2l0ZWNoL3NyYy92ODZiaW9zL2NvbW1hbmQuYwppbmRleCAzYTQ2OGRhLi41NDk0ZmY4IDEwMDY0NAotLS0gYS9ib2FyZC9NQUkvYmlvc19lbXVsYXRvci9zY2l0ZWNoL3NyYy92ODZiaW9zL2NvbW1hbmQuYworKysgYi9ib2FyZC9NQUkvYmlvc19lbXVsYXRvci9zY2l0ZWNoL3NyYy92ODZiaW9zL2NvbW1hbmQuYwpAQCAtMzYsNiArMzYsMyBAQAogICAgIGxpbmVfcG9pbnRlciA9IGxpbmVfcG9pbnRlciArICpudW07CiAgICAgbGVuID0gbGVuIC0gKm51bTsKIH0KLQotCi0KZGlmZiAtLWdpdCBhL2JvYXJkL21wYzgyNjZhZHMvbXBjODI2NmFkcy5jIGIvYm9hcmQvbXBjODI2NmFkcy9tcGM4MjY2YWRzLmMKaW5kZXggM2UzNDgyOC4uNTAxZTYxMCAxMDA2NDQKLS0tIGEvYm9hcmQvbXBjODI2NmFkcy9tcGM4MjY2YWRzLmMKKysrIGIvYm9hcmQvbXBjODI2NmFkcy9tcGM4MjY2YWRzLmMKQEAgLTQ4OSwxMCArNDg5LDEzIEBACiAgICAgICogVGhlIGFwcHJvcHJpYXRlIEJSeC9PUnggcmVnaXN0ZXJzIGhhdmUgYWxyZWFkeSBiZWVuIHNldCB3aGVuIHdlCiAgICAgICogZ2V0IGhlcmUuIFRoZSBTRFJBTSBjYW4gYmUgYWNjZXNzZWQgYXQgdGhlIGFkZHJlc3MgQ0ZHX1NEUkFNX0JBU0UuCiAgICAgICovCi0jaWYgMQorCiAgICAgbWVtY3RsLT5tZW1jX21wdHByID0gQ0ZHX01QVFBSOwogICAgIG1lbWN0bC0+bWVtY19wc3J0ICA9IHBzcnQ7CiAKKyAgICBtZW1jdGwtPm1lbWNfYnIyID0gQ0ZHX0JSMl9QUkVMSU07CisgICAgbWVtY3RsLT5tZW1jX29yMiA9IG9yOworICAgIAogICAgIG1lbWN0bC0+bWVtY19wc2RtciA9IHBzZG1yIHwgUFNETVJfT1BfUFJFQTsKICAgICAqcmFtYWRkciA9IGM7CiAKQEAgLTUzMCw0MSArNTMzLDcgQEAKIAkJbWVtY3RsLT5tZW1jX3BzZG1yID0gcHNkbXIgfCBQU0RNUl9PUF9OT1JNIHwgUFNETVJfUkZFTjsKIAkJKnJhbWFkZHIgPSBjOwogICAgIH0KLSNlbmRpZgotCS8qCi0gICAgcHJpbnRmKCJtZW1jdGwtPm1lbWNfbXB0cHIgPSAweCUwOHhcbiIsIENGR19NUFRQUik7Ci0gICAgcHJpbnRmKCJtZW1jdGwtPm1lbWNfcHNydCAgPSAweCUwOHhcbiIsIHBzcnQpOwogCi0gICAgcHJpbnRmKCJtZW1jdGwtPm1lbWNfcHNkbXIgPSAweCUwOHhcbiIsIHBzZG1yIHwgUFNETVJfT1BfUFJFQSk7Ci0gICAgcHJpbnRmKCJyYW1hZGRyID0gMHglMDh4XG4iLCByYW1hZGRyKTsKLQotICAgIHByaW50ZigibWVtY3RsLT5tZW1jX3BzZG1yID0gMHglMDh4XG4iLCBwc2RtciB8IFBTRE1SX09QX0NCUlIpOwotCi0gICAgcHJpbnRmKCJtZW1jdGwtPm1lbWNfcHNkbXIgPSAweCUwOHhcbiIsIHBzZG1yIHwgUFNETVJfT1BfTVJXKTsKLQotICAgIHByaW50ZigibWVtY3RsLT5tZW1jX3BzZG1yID0gMHglMDh4XG4iLCBwc2RtciB8IFBTRE1SX09QX05PUk0gfCBQU0RNUl9SRkVOKTsKLQotICAgIGltbWFwLT5pbV9zaXVfY29uZi5zY19wcGNfYWNyICAgPSAweDAwMDAwMDAyOwotICAgIGltbWFwLT5pbV9zaXVfY29uZi5zY19wcGNfYWxyaCAgPSAweDAxMjY3ODkzOwotICAgIGltbWFwLT5pbV9zaXVfY29uZi5zY190ZXNjcjEgICAgPSAweDAwMDA0MDAwOwotCSovCi0jaWYgMAotICAgIC8qIGluaXQgc2RyYW0gZGltbSAqLwotICAgIHJhbWFkZHIgICAgICAgICAgICAgICAgICAgICAgICAgPSAodWNoYXIgKilDRkdfU0RSQU1fQkFTRTsKLSAgICBtZW1jdGwtPm1lbWNfcHNydCAgICAgICAgICAgICAgID0gMHgwMDAwMDAxMDsKLSAgICBpbW1hcC0+aW1fbWVtY3RsLm1lbWNfb3IyICAgICAgID0gMHhGRjAwMENBMDsKLSAgICBpbW1hcC0+aW1fbWVtY3RsLm1lbWNfYnIyICAgICAgID0gMHgwMDAwMDA0MTsKLSAgICBtZW1jdGwtPm1lbWNfcHNkbXIgICAgICAgICAgICAgID0gMHgyOTZFQjQ1MjsKLSAgICAqcmFtYWRkciAgICAgICAgICAgICAgICAgICAgICAgID0gYzsKLSAgICBtZW1jdGwtPm1lbWNfcHNkbXIgICAgICAgICAgICAgID0gMHgwOTZFQjQ1MjsKLSAgICBmb3IgKGkgPSAwOyBpIDwgODsgaSsrKQotICAgICAgICAqcmFtYWRkciAgICAgICAgICAgICAgICAgICAgPSBjOwotCi0gICAgbWVtY3RsLT5tZW1jX3BzZG1yICAgICAgICAgICAgICA9IDB4MTk2RUI0NTI7Ci0gICAgKnJhbWFkZHIgICAgICAgICAgICAgICAgICAgICAgICA9IGM7Ci0gICAgbWVtY3RsLT5tZW1jX3BzZG1yICAgICAgICAgICAgICA9IDB4NDE2RUI0NTI7Ci0gICAgKnJhbWFkZHIgICAgICAgICAgICAgICAgICAgICAgICA9IGM7Ci0jZW5kaWYJCiAJLyogcHJpbnQgaW5mbyAqLwogCXByaW50ZigiU0RSQU0gY29uZmlndXJhdGlvbiByZWFkIGZyb20gU1BEXG4iKTsKIAlwcmludGYoIlx0U2l6ZSBwZXIgc2lkZSA9ICVkTUJcbiIsIHNkcmFtX3NpemUgPj4gMjApOwpAQCAtNTc2LDYgKzU0NSw3IEBACiAJLypyZXR1cm4gKDE2ICogMTAyNCAqIDEwMjQpOyovCiB9CiAKKwogI2lmZGVmCUNPTkZJR19QQ0kKIHN0cnVjdCBwY2lfY29udHJvbGxlciBob3NlOwogCmRpZmYgLS1naXQgYS9ib2FyZC9zYzUyMF9jZHAvY29uZmlnLm1rIGIvYm9hcmQvc2M1MjBfY2RwL2NvbmZpZy5tawppbmRleCBkNGNkOTk4Li4yMjUzODE1IDEwMDY0NAotLS0gYS9ib2FyZC9zYzUyMF9jZHAvY29uZmlnLm1rCisrKyBiL2JvYXJkL3NjNTIwX2NkcC9jb25maWcubWsKQEAgLTIyLDQgKzIyLDQgQEAKICMKIAogCi1URVhUX0JBU0UgPSAweDM4N2UwMDAwCitURVhUX0JBU0UgPSAweDM4N2MwMDAwCmRpZmYgLS1naXQgYS9ib2FyZC9zYzUyMF9jZHAvZmxhc2guYyBiL2JvYXJkL3NjNTIwX2NkcC9mbGFzaC5jCmluZGV4IDk3M2NkZTguLjFlYmIzMmUgMTAwNjQ0Ci0tLSBhL2JvYXJkL3NjNTIwX2NkcC9mbGFzaC5jCisrKyBiL2JvYXJkL3NjNTIwX2NkcC9mbGFzaC5jCkBAIC0xLDQgKzEsNyBAQAogLyoKKyAqIChDKSBDb3B5cmlnaHQgMjAwMiwgMjAwMworICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIsIGRhbmllbEBvbWljcm9uLnNlCisgKiAKICAqIChDKSBDb3B5cmlnaHQgMjAwMgogICogU3lzZ28gUmVhbC1UaW1lIFNvbHV0aW9ucywgR21iSCA8d3d3LmVsaW5vcy5jb20+CiAgKiBBbGV4IFp1ZXBrZSA8YXp1QHN5c2dvLmRlPgpAQCAtMjMsMzEgKzI2LDIzIEBACiAgKi8KIAogI2luY2x1ZGUgPGNvbW1vbi5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPHBjaS5oPgorI2luY2x1ZGUgPGFzbS9pYy9zYzUyMC5oPgogCi11bG9uZyBteWZsdXNoKHZvaWQpOworI2RlZmluZSBQUk9CRV9CVUZGRVJfU0laRSAxMDI0CitzdGF0aWMgdW5zaWduZWQgY2hhciBidWZmZXJbUFJPQkVfQlVGRkVSX1NJWkVdOwogCisjZGVmaW5lIFNDNTIwX01BWF9GTEFTSF9CQU5LUyAgMworI2RlZmluZSBTQzUyMF9GTEFTSF9CQU5LMF9CQVNFIDB4MzgwMDAwMDAgIC8qIEJPT1RDUyAqLworI2RlZmluZSBTQzUyMF9GTEFTSF9CQU5LMV9CQVNFIDB4MzAwMDAwMDAgIC8qIFJPTUNTMCAqLworI2RlZmluZSBTQzUyMF9GTEFTSF9CQU5LMl9CQVNFIDB4MjgwMDAwMDAgIC8qIFJPTUNTMSAqLworI2RlZmluZSBTQzUyMF9GTEFTSF9CQU5LU0laRSAgIDB4ODAwMDAwMAogCi0jZGVmaW5lIEZMQVNIX0JBTktfU0laRSAweDQwMDAwMAkvKiA0IE1CICovCi0jZGVmaW5lIE1BSU5fU0VDVF9TSVpFICAweDIwMDAwCQkvKiAxMjggS0IgKi8KKyNkZWZpbmUgQU1EMjlMVjAxNkJfU0laRSAgICAgICAgMHgyMDAwMDAKKyNkZWZpbmUgQU1EMjlMVjAxNkJfU0VDVE9SUyAgICAgMzIKIAotZmxhc2hfaW5mb190ICAgIGZsYXNoX2luZm9bQ0ZHX01BWF9GTEFTSF9CQU5LU107Ci0KLQotI2RlZmluZSBDTURfUkVBRF9BUlJBWQkJMHgwMEYwMDBGMAotI2RlZmluZSBDTURfVU5MT0NLMQkJMHgwMEFBMDBBQQotI2RlZmluZSBDTURfVU5MT0NLMgkJMHgwMDU1MDA1NQotI2RlZmluZSBDTURfRVJBU0VfU0VUVVAJCTB4MDA4MDAwODAKLSNkZWZpbmUgQ01EX0VSQVNFX0NPTkZJUk0JMHgwMDMwMDAzMAotI2RlZmluZSBDTURfUFJPR1JBTQkJMHgwMEEwMDBBMAotI2RlZmluZSBDTURfVU5MT0NLX0JZUEFTUwkweDAwMjAwMDIwCi0KLSNkZWZpbmUgTUVNX0ZMQVNIX0FERFIxCQkoKih2b2xhdGlsZSB1MzIgKikoQ0ZHX0ZMQVNIX0JBU0UgKyAoMHgwMDAwMDU1NSA8PCAyKSkpCi0jZGVmaW5lIE1FTV9GTEFTSF9BRERSMgkJKCoodm9sYXRpbGUgdTMyICopKENGR19GTEFTSF9CQVNFICsgKDB4MDAwMDAyQUEgPDwgMikpKQotCi0jZGVmaW5lIEJJVF9FUkFTRV9ET05FCQkweDAwODAwMDgwCi0jZGVmaW5lIEJJVF9SRFlfTUFTSwkJMHgwMDgwMDA4MAotI2RlZmluZSBCSVRfUFJPR1JBTV9FUlJPUgkweDAwMjAwMDIwCi0jZGVmaW5lIEJJVF9USU1FT1VUCQkweDgwMDAwMDAwIC8qIG91ciBmbGFnICovCitmbGFzaF9pbmZvX3QgICAgZmxhc2hfaW5mb1tTQzUyMF9NQVhfRkxBU0hfQkFOS1NdOwogCiAjZGVmaW5lIFJFQURZIDEKICNkZWZpbmUgRVJSICAgMgpAQCAtNTYsMzk0ICs1MSw1OTIgQEAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCisKK3N0YXRpYyB1MzIgX3Byb2JlX2ZsYXNoKHUzMiBhZGRyLCB1MzIgYncsIGludCBpbCkKK3sKKwl1MzIgcmVzdWx0PTA7CisJCisJLyogRmlyc3QgZG8gYW4gdW5sb2NrIGN5Y2xlIGZvciB0aGUgYmVuZWZpdCBvZgorCSAqIGRldmljZXMgdGhhdCBuZWVkIGl0ICovCisJCisJc3dpdGNoIChidykgeworCQkKKwljYXNlIDE6CisJCSoodm9sYXRpbGUgdTgqKShhZGRyKzB4NTU1NSkgPSAweGFhOworCQkqKHZvbGF0aWxlIHU4KikoYWRkcisweDJhYWEpID0gMHg1NTsKKwkJKih2b2xhdGlsZSB1OCopKGFkZHIrMHg1NTU1KSA9IDB4OTA7CisJCQorCQkvKiBSZWFkIHZlbmRvciAqLworCQlyZXN1bHQgPSAqKHZvbGF0aWxlIHU4KilhZGRyOworCQlyZXN1bHQgPDw9IDE2OworCQkKKwkJLyogUmVhZCBkZXZpY2UgKi8KKwkJcmVzdWx0IHw9ICoodm9sYXRpbGUgdTgqKShhZGRyKzIpOworCQkKKwkJLyogUmV0dXJuIGRldmljZSB0byBkYXRhIG1vZGUgKi8KKwkJKih2b2xhdGlsZSB1OCopYWRkciA9IDB4ZmY7CisJCSoodm9sYXRpbGUgdTgqKShhZGRyKzB4NTU1NSksIDB4ZjA7ICAKKwkJYnJlYWs7CisJCQorCWNhc2UgMjoKKwkJKih2b2xhdGlsZSB1MTYqKShhZGRyKzB4YWFhYSkgPSAweGFhYWE7CisJCSoodm9sYXRpbGUgdTE2KikoYWRkcisweDU1NTQpID0gMHg1NTU1OworCQkKKwkJLyogSXNzdWUgaWRlbnRpZmljYXRpb24gY29tbWFuZCAqLworCQlpZiAoaWwgPT0gMikgeworCQkJKih2b2xhdGlsZSB1MTYqKShhZGRyKzB4YWFhYSkgPSAweDkwOTA7CisJCQkKKwkJCS8qIFJlYWQgdmVuZG9yICovCisJCQlyZXN1bHQgPSAqKHZvbGF0aWxlIHU4KilhZGRyOworCQkJcmVzdWx0IDw8PSAxNjsKKwkJCQorCQkJLyogUmVhZCBkZXZpY2UgKi8KKwkJCXJlc3VsdCB8PSAqKHZvbGF0aWxlIHU4KikoYWRkcisyKTsKKwkJCQorCQkJLyogUmV0dXJuIGRldmljZSB0byBkYXRhIG1vZGUgKi8KKwkJCSoodm9sYXRpbGUgdTE2KilhZGRyID0gIDB4ZmZmZjsKKwkJCSoodm9sYXRpbGUgdTE2KikoYWRkcisweGFhYWEpLCAweGYwZjA7ICAKKwkJCQorCQl9IGVsc2UgeworCQkJKih2b2xhdGlsZSB1OCopKGFkZHIrMHhhYWFhKSA9IDB4OTA7CisJCQkvKiBSZWFkIHZlbmRvciAqLworCQkJcmVzdWx0ID0gKih2b2xhdGlsZSB1MTYqKWFkZHI7CisJCQlyZXN1bHQgPDw9IDE2OworCQkJCisJCQkvKiBSZWFkIGRldmljZSAqLworCQkJcmVzdWx0IHw9ICoodm9sYXRpbGUgdTE2KikoYWRkcisyKTsKKwkJCQorCQkJLyogUmV0dXJuIGRldmljZSB0byBkYXRhIG1vZGUgKi8KKwkJCSoodm9sYXRpbGUgdTgqKWFkZHIgPSAweGZmOworCQkJKih2b2xhdGlsZSB1OCopKGFkZHIrMHhhYWFhKSwgMHhmMDsgIAkJCQorCQl9CisJCQorCQlicmVhazsKKwkJCisJIGNhc2UgNDoKKwkJKih2b2xhdGlsZSB1MzIqKShhZGRyKzB4NTU1NCkgPSAweGFhYWFhYWFhOworCQkqKHZvbGF0aWxlIHUzMiopKGFkZHIrMHhhYWE4KSA9IDB4NTU1NTU1NTU7CisJCQorCQlzd2l0Y2ggKGlsKSB7CisJCWNhc2UgMToKKwkJCS8qIElzc3VlIGlkZW50aWZpY2F0aW9uIGNvbW1hbmQgKi8KKwkJCSoodm9sYXRpbGUgdTgqKShhZGRyKzB4NTU1NCkgPSAweDkwOworCQkJCisJCQkvKiBSZWFkIHZlbmRvciAqLworCQkJcmVzdWx0ID0gKih2b2xhdGlsZSB1MTYqKWFkZHI7CisJCQlyZXN1bHQgPDw9IDE2OworCQkKKwkJCS8qIFJlYWQgZGV2aWNlICovCisJCQlyZXN1bHQgfD0gKih2b2xhdGlsZSB1MTYqKShhZGRyKzQpOworCQkJCisJCQkvKiBSZXR1cm4gZGV2aWNlIHRvIGRhdGEgbW9kZSAqLworCQkJKih2b2xhdGlsZSB1OCopYWRkciA9ICAweGZmOworCQkJKih2b2xhdGlsZSB1OCopKGFkZHIrMHg1NTU0KSwgMHhmMDsgIAorCQkJYnJlYWs7CisJCQkKKwkJY2FzZSAyOgorCQkJLyogSXNzdWUgaWRlbnRpZmljYXRpb24gY29tbWFuZCAqLworCQkJKih2b2xhdGlsZSB1MzIqKShhZGRyICsgMHg1NTU0KSA9IDB4MDA5MDAwOTA7CisJCQkKKwkJCS8qIFJlYWQgdmVuZG9yICovCisJCQlyZXN1bHQgPSAqKHZvbGF0aWxlIHUxNiopYWRkcjsKKwkJCXJlc3VsdCA8PD0gMTY7CisJCQkKKwkJCS8qIFJlYWQgZGV2aWNlICovCisJCQlyZXN1bHQgfD0gKih2b2xhdGlsZSB1MTYqKShhZGRyKzQpOworCQkJCisJCQkvKiBSZXR1cm4gZGV2aWNlIHRvIGRhdGEgbW9kZSAqLworCQkJKih2b2xhdGlsZSB1MzIqKWFkZHIgPSAgMHgwMGZmMDBmZjsKKwkJCSoodm9sYXRpbGUgdTMyKikoYWRkcisweDU1NTQpLCAweDAwZjAwMGYwOyAgCisJCQlicmVhazsKKwkJCQorCQljYXNlIDQ6CisJCQkvKiBJc3N1ZSBpZGVudGlmaWNhdGlvbiBjb21tYW5kICovCisJCQkqKHZvbGF0aWxlIHUzMiopKGFkZHIrMHg1NTU0KSA9IDB4OTA5MDkwOTA7CisJCQkKKwkJCS8qIFJlYWQgdmVuZG9yICovCisJCQlyZXN1bHQgPSAqKHZvbGF0aWxlIHU4KilhZGRyOworCQkJcmVzdWx0IDw8PSAxNjsKKwkJCQorCQkJLyogUmVhZCBkZXZpY2UgKi8KKwkJCXJlc3VsdCB8PSAqKHZvbGF0aWxlIHU4KikoYWRkcis0KTsKKwkJCQorCQkJLyogUmV0dXJuIGRldmljZSB0byBkYXRhIG1vZGUgKi8KKwkJCSoodm9sYXRpbGUgdTMyKilhZGRyID0gIDB4ZmZmZmZmZmY7CisJCQkqKHZvbGF0aWxlIHUzMiopKGFkZHIrMHg1NTU0KSwgMHhmMGYwZjBmMDsgCisJCQlicmVhazsKKwkJfQorCQlicmVhazsKKwl9CisJCisJCisJCisJcmV0dXJuIHJlc3VsdDsKK30KKworZXh0ZXJuIGludCBfcHJvYmVfZmxhc2hfZW5kOworYXNtICgiX3Byb2JlX2ZsYXNoX2VuZDpcbiIKKyAgICAgIi5sb25nIDBcbiIpOworCitzdGF0aWMgaW50IGlkZW50aWZ5X2ZsYXNoKHVuc2lnbmVkIGFkZHJlc3MsIGludCB3aWR0aCkKK3sKKwlpbnQgaXM7CQorCWludCBkZXZpY2U7CisJaW50IHZlbmRvcjsJCisJaW50IHNpemU7CisJdW5zaWduZWQgcmVzOworCQorCXUzMiAoKl9wcm9iZV9mbGFzaF9wdHIpKHUzMiBhLCB1MzIgYncsIGludCBpbCk7CisJCisJc2l6ZSA9ICh1bnNpZ25lZCkmX3Byb2JlX2ZsYXNoX2VuZCAtICh1bnNpZ25lZClfcHJvYmVfZmxhc2g7IAorCQorCWlmIChzaXplID4gUFJPQkVfQlVGRkVSX1NJWkUpIHsKKwkJcHJpbnRmKCJfcHJvYmVfZmxhc2goKSByb3V0aW5lIHRvbyBsYXJnZSAoJWQpICVwIC0gJXBcbiIsCisJCSAgICAgICBzaXplLCAmX3Byb2JlX2ZsYXNoX2VuZCwgX3Byb2JlX2ZsYXNoKTsKKwkJcmV0dXJuIDA7CisJfQorCQorCW1lbWNweShidWZmZXIsIF9wcm9iZV9mbGFzaCwgc2l6ZSk7CisJX3Byb2JlX2ZsYXNoX3B0ciA9ICh2b2lkKilidWZmZXI7CisJCisJaXMgPSBkaXNhYmxlX2ludGVycnVwdHMoKTsKKwlyZXMgPSBfcHJvYmVfZmxhc2hfcHRyKGFkZHJlc3MsIHdpZHRoLCAxKTsKKwlpZiAoaXMpIHsKKwkJZW5hYmxlX2ludGVycnVwdHMoKTsKKwl9CisJCisJCisgICAgICAgIHZlbmRvciA9IHJlcyA+PiAxNjsKKwlkZXZpY2UgPSByZXMgJiAweGZmZmY7CisJCisJCQorCXJldHVybiByZXM7Cit9CisKIHVsb25nIGZsYXNoX2luaXQodm9pZCkKIHsKLSAgICBpbnQgaSwgajsKLSAgICB1bG9uZyBzaXplID0gMDsKLQotICAgIGZvciAoaSA9IDA7IGkgPCBDRkdfTUFYX0ZMQVNIX0JBTktTOyBpKyspCi0gICAgewotCXVsb25nIGZsYXNoYmFzZSA9IDA7Ci0JZmxhc2hfaW5mb1tpXS5mbGFzaF9pZCA9Ci0JICAoQU1EX01BTlVGQUNUICYgRkxBU0hfVkVORE1BU0spIHwKLQkgIChBTURfSURfTFYxNjBCICYgRkxBU0hfVFlQRU1BU0spOwotCWZsYXNoX2luZm9baV0uc2l6ZSA9IEZMQVNIX0JBTktfU0laRTsKLQlmbGFzaF9pbmZvW2ldLnNlY3Rvcl9jb3VudCA9IENGR19NQVhfRkxBU0hfU0VDVDsKLQltZW1zZXQoZmxhc2hfaW5mb1tpXS5wcm90ZWN0LCAwLCBDRkdfTUFYX0ZMQVNIX1NFQ1QpOwotCWlmIChpID09IDApCi0JICBmbGFzaGJhc2UgPSBQSFlTX0ZMQVNIXzE7Ci0JZWxzZQotCSAgcGFuaWMoImNvbmZpZ3VyZWQgdG8gbWFueSBmbGFzaCBiYW5rcyFcbiIpOwotCWZvciAoaiA9IDA7IGogPCBmbGFzaF9pbmZvW2ldLnNlY3Rvcl9jb3VudDsgaisrKQotCXsKLQotCSAgICBpZiAoaiA8PSAzKQotCSAgICB7Ci0JCS8qIDFzdCBvbmUgaXMgMzIgS0IgKi8KLQkJaWYgKGogPT0gMCkKLQkJewotCQkJZmxhc2hfaW5mb1tpXS5zdGFydFtqXSA9IGZsYXNoYmFzZSArIDA7CisJaW50IGksIGo7CisJdWxvbmcgc2l6ZSA9IDA7CisJCisJZm9yIChpID0gMDsgaSA8IFNDNTIwX01BWF9GTEFTSF9CQU5LUzsgaSsrKSB7CisJCXVuc2lnbmVkIGlkOworCQl1bG9uZyBmbGFzaGJhc2UgPSAwOworCQlpbnQgc2VjdHNpemUgPSAwOyAKKwkJCisJCW1lbXNldChmbGFzaF9pbmZvW2ldLnByb3RlY3QsIDAsIENGR19NQVhfRkxBU0hfU0VDVCk7CisJCXN3aXRjaCAoaSkgeworCQljYXNlIDA6CisJCQlmbGFzaGJhc2UgPSBTQzUyMF9GTEFTSF9CQU5LMF9CQVNFOworCQkJYnJlYWs7CisJCWNhc2UgMToKKwkJCWZsYXNoYmFzZSA9IFNDNTIwX0ZMQVNIX0JBTksxX0JBU0U7CisJCQlicmVhazsKKwkJY2FzZSAyOgorCQkJZmxhc2hiYXNlID0gU0M1MjBfRkxBU0hfQkFOSzJfQkFTRTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJcGFuaWMoImNvbmZpZ3VyZWQgdG8gbWFueSBmbGFzaCBiYW5rcyFcbiIpOwogCQl9Ci0KLQkJLyogMm5kIGFuZCAzcmQgYXJlIGJvdGggMTYgS0IgKi8KLQkJaWYgKChqID09IDEpIHx8IChqID09IDIpKQotCQl7Ci0JCQlmbGFzaF9pbmZvW2ldLnN0YXJ0W2pdID0gZmxhc2hiYXNlICsgMHg4MDAwICsgKGotMSkqMHg0MDAwOworCQkKKwkJaWQgPSBpZGVudGlmeV9mbGFzaChmbGFzaGJhc2UsIDQpOworCQlzd2l0Y2ggKGlkICYgMHgwMGZmMDBmZikgeworCQljYXNlIDB4MDAwMTAwYzg6CisJCQkvKiAyOUxWMDE2Qi8yOUxWMDE3QiAqLworCQkJZmxhc2hfaW5mb1tpXS5mbGFzaF9pZCA9CisJCQkJKEFNRF9NQU5VRkFDVCAmIEZMQVNIX1ZFTkRNQVNLKSB8CisJCQkJKEFNRF9JRF9MVjAxNkIgJiBGTEFTSF9UWVBFTUFTSyk7CisJCQkKKwkJCWZsYXNoX2luZm9baV0uc2l6ZSA9IEFNRDI5TFYwMTZCX1NJWkUqNDsKKwkJCWZsYXNoX2luZm9baV0uc2VjdG9yX2NvdW50ID0gQU1EMjlMVjAxNkJfU0VDVE9SUzsKKwkJCXNlY3RzaXplID0gKEFNRDI5TFYwMTZCX1NJWkUqNCkvQU1EMjlMVjAxNkJfU0VDVE9SUzsKKwkJCXByaW50ZigiQmFuayAlZDogNCB4IEFNRCAyOUxWMDE3QlxuIiwgaSk7CisJCQlicmVhazsKKwkJCQorCQkJCisJCWRlZmF1bHQ6CisJCQlwcmludGYoIkJhbmsgJWQgaGF2ZSB1bmtub3duIGZsYXNoICUwOHhcbiIsIGksIGlkKTsKKwkJCWZsYXNoX2luZm9baV0uZmxhc2hfaWQgPSBGTEFTSF9VTktOT1dOOworCQkJY29udGludWU7CiAJCX0KLQotCQkvKiA0dGggNjQgS0IgKi8KLQkJaWYgKGogPT0gMykKLQkJewotCQkJZmxhc2hfaW5mb1tpXS5zdGFydFtqXSA9IGZsYXNoYmFzZSArIDB4MTAwMDA7CisJCQorCQlmb3IgKGogPSAwOyBqIDwgZmxhc2hfaW5mb1tpXS5zZWN0b3JfY291bnQ7IGorKykgeworCQkJZmxhc2hfaW5mb1tpXS5zdGFydFtqXSA9IGZsYXNoYmFzZSArIGogKiBzZWN0c2l6ZTsKIAkJfQotCSAgICB9Ci0JICAgIGVsc2UKLQkgICAgewotCQlmbGFzaF9pbmZvW2ldLnN0YXJ0W2pdID0gZmxhc2hiYXNlICsgKGogLSAzKSpNQUlOX1NFQ1RfU0laRTsKLQkgICAgfQorCQlzaXplICs9IGZsYXNoX2luZm9baV0uc2l6ZTsKKwkJCisJCWZsYXNoX3Byb3RlY3QoRkxBR19QUk9URUNUX0NMRUFSLAorCQkJICAgICAgZmxhc2hfaW5mb1tpXS5zdGFydFswXSwKKwkJCSAgICAgICBmbGFzaF9pbmZvW2ldLnN0YXJ0WzBdICsgZmxhc2hfaW5mb1tpXS5zaXplIC0gMSwKKwkJCSAgICAgICZmbGFzaF9pbmZvW2ldKTsKIAl9Ci0Jc2l6ZSArPSBmbGFzaF9pbmZvW2ldLnNpemU7Ci0gICAgfQotCi0gICAgLyoKLSAgICAgKiBQcm90ZWN0IG1vbml0b3IgYW5kIGVudmlyb25tZW50IHNlY3RvcnMKLSAgICAgKi8KLSAgICBmbGFzaF9wcm90ZWN0KEZMQUdfUFJPVEVDVF9TRVQsCi0JCSAgaTM4NmJvb3Rfc3RhcnQtQ0ZHX0ZMQVNIX0JBU0UsCi0JCSAgaTM4NmJvb3RfZW5kLUNGR19GTEFTSF9CQVNFLAotCQkgICZmbGFzaF9pbmZvWzBdKTsKLQotICAgIGZsYXNoX3Byb3RlY3QoRkxBR19QUk9URUNUX1NFVCwKLQkJICBDRkdfRU5WX0FERFIsCi0JCSAgQ0ZHX0VOVl9BRERSICsgQ0ZHX0VOVl9TSVpFIC0gMSwKLQkJICAmZmxhc2hfaW5mb1swXSk7Ci0gICAgcmV0dXJuIHNpemU7CisJCisJLyoKKwkgKiBQcm90ZWN0IG1vbml0b3IgYW5kIGVudmlyb25tZW50IHNlY3RvcnMKKwkgKi8KKwlmbGFzaF9wcm90ZWN0KEZMQUdfUFJPVEVDVF9TRVQsCisJCSAgICAgIGkzODZib290X3N0YXJ0LAorCQkgICAgICBpMzg2Ym9vdF9lbmQsCisJCSAgICAgICZmbGFzaF9pbmZvWzBdKTsKKyNpZmRlZiBDRkdfRU5WX0FERFIKKwlmbGFzaF9wcm90ZWN0KEZMQUdfUFJPVEVDVF9TRVQsCisJCSAgICAgIENGR19FTlZfQUREUiwKKwkJICAgICAgQ0ZHX0VOVl9BRERSICsgQ0ZHX0VOVl9TSVpFIC0gMSwKKwkJICAgICAgJmZsYXNoX2luZm9bMF0pOworI2VuZGlmCQorCXJldHVybiBzaXplOwogfQogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKi8KLXZvaWQgZmxhc2hfcHJpbnRfaW5mbyAgKGZsYXNoX2luZm9fdCAqaW5mbykKK3ZvaWQgZmxhc2hfcHJpbnRfaW5mbyhmbGFzaF9pbmZvX3QgKmluZm8pCiB7Ci0gICAgaW50IGk7Ci0KLSAgICBzd2l0Y2ggKGluZm8tPmZsYXNoX2lkICYgRkxBU0hfVkVORE1BU0spCi0gICAgewotICAgIGNhc2UgKEFNRF9NQU5VRkFDVCAmIEZMQVNIX1ZFTkRNQVNLKToKLQlwcmludGYoIkFNRDogIik7Ci0JYnJlYWs7Ci0gICAgZGVmYXVsdDoKLQlwcmludGYoIlVua25vd24gVmVuZG9yICIpOwotCWJyZWFrOwotICAgIH0KLQotICAgIHN3aXRjaCAoaW5mby0+Zmxhc2hfaWQgJiBGTEFTSF9UWVBFTUFTSykKLSAgICB7Ci0gICAgY2FzZSAoQU1EX0lEX0xWMTYwQiAmIEZMQVNIX1RZUEVNQVNLKToKLQlwcmludGYoIjJ4IEFtZDI5RjE2MEJCICgxNk1iaXQpXG4iKTsKLQlicmVhazsKLSAgICBkZWZhdWx0OgotCXByaW50ZigiVW5rbm93biBDaGlwIFR5cGVcbiIpOwotCWdvdG8gRG9uZTsKLQlicmVhazsKLSAgICB9Ci0KLSAgICBwcmludGYoIiAgU2l6ZTogJWxkIE1CIGluICVkIFNlY3RvcnNcbiIsCi0JICAgaW5mby0+c2l6ZSA+PiAyMCwgaW5mby0+c2VjdG9yX2NvdW50KTsKLQotICAgIHByaW50ZigiICBTZWN0b3IgU3RhcnQgQWRkcmVzc2VzOiIpOwotICAgIGZvciAoaSA9IDA7IGkgPCBpbmZvLT5zZWN0b3JfY291bnQ7IGkrKykKLSAgICB7Ci0JaWYgKChpICUgNSkgPT0gMCkKLQl7Ci0JICAgIHByaW50ZiAoIlxuICAgIik7CisJaW50IGk7CisJCisJc3dpdGNoIChpbmZvLT5mbGFzaF9pZCAmIEZMQVNIX1ZFTkRNQVNLKSB7CisJCQorCWNhc2UgKEFNRF9NQU5VRkFDVCAmIEZMQVNIX1ZFTkRNQVNLKToKKwkJcHJpbnRmKCJBTUQ6ICAgIik7CisJCXN3aXRjaCAoaW5mby0+Zmxhc2hfaWQgJiBGTEFTSF9UWVBFTUFTSykgeworCQljYXNlIChBTURfSURfTFYwMTZCICYgRkxBU0hfVFlQRU1BU0spOgorCQkJcHJpbnRmKCI0eCBBTUQyOUxWMDE3QiAoNHgxNk1iaXQpXG4iKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJcHJpbnRmKCJVbmtub3duIENoaXAgVHlwZVxuIik7CisJCQlnb3RvIGRvbmU7CisJCQlicmVhazsKKwkJfQorCQkKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcHJpbnRmKCJVbmtub3duIFZlbmRvciAiKTsKKwkJYnJlYWs7CiAJfQotCXByaW50ZiAoIiAlMDhsWCVzIiwgaW5mby0+c3RhcnRbaV0sCi0JCWluZm8tPnByb3RlY3RbaV0gPyAiIChSTykiIDogIiAgICAgIik7Ci0gICAgfQotICAgIHByaW50ZiAoIlxuIik7Ci0KLURvbmU6CisJCisJCisJcHJpbnRmKCIgIFNpemU6ICVsZCBNQiBpbiAlZCBTZWN0b3JzXG4iLAorCSAgICAgICBpbmZvLT5zaXplID4+IDIwLCBpbmZvLT5zZWN0b3JfY291bnQpOworCQorCXByaW50ZigiICBTZWN0b3IgU3RhcnQgQWRkcmVzc2VzOiIpOworCWZvciAoaSA9IDA7IGkgPCBpbmZvLT5zZWN0b3JfY291bnQ7IGkrKykgeworCQlpZiAoKGkgJSA1KSA9PSAwKSB7CisJCQlwcmludGYgKCJcbiAgICIpOworCQl9CisJCXByaW50ZiAoIiAlMDhsWCVzIiwgaW5mby0+c3RhcnRbaV0sCisJCQlpbmZvLT5wcm90ZWN0W2ldID8gIiAoUk8pIiA6ICIgICAgICIpOworCX0KKwlwcmludGYgKCJcbiIpOworCQorCWRvbmU6CiB9CiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCi1pbnQJZmxhc2hfZXJhc2UgKGZsYXNoX2luZm9fdCAqaW5mbywgaW50IHNfZmlyc3QsIGludCBzX2xhc3QpCisvKiB0aGlzIG5lZWRzIHRvIGJlIGlubGluZWQsIHRoZSBTV1RNUk1NSUxMSSByZWdpc3RlciBpcyByZXNldCBieSBlYWNoIHJlYWQgKi8KKyNkZWZpbmUgX191ZGVsYXkoZGVsYXkpIFwKK3sJXAorCXVuc2lnbmVkIG1pY3JvOyBcCisJdW5zaWduZWQgbWlsbGk9MDsgXAorCVwKKwltaWNybyA9ICoodm9sYXRpbGUgdTE2KikoMHhmZmZlZjAwMCtTQzUyMF9TV1RNUk1JTExJKTsgXAorICAgICAgICAgXAorCWZvciAoOzspIHsgXAorCQlcCisJCW1pbGxpICs9ICoodm9sYXRpbGUgdTE2KikoMHhmZmZlZjAwMCtTQzUyMF9TV1RNUk1JTExJKTsgXAorCQltaWNybyA9ICoodm9sYXRpbGUgdTE2KikoMHhmZmZlZjAwMCtTQzUyMF9TV1RNUk1JQ1JPKTsgXAorCQlcCisJCWlmICgoZGVsYXkpIDw9IChtaWNybyArIChtaWxsaSAqIDEwMDApKSkgeyBcCisJCQlicmVhazsgXAorCQl9IFwKKwl9IFwKK30gd2hpbGUgKDApIAorCitzdGF0aWMgdTMyIF9hbWRfZXJhc2VfZmxhc2godTMyIGFkZHIsIHUzMiBzZWN0b3IpCiB7Ci0gICAgdWxvbmcgcmVzdWx0OwotICAgIGludCBpZmxhZywgcHJvdCwgc2VjdDsKLSAgICBpbnQgcmMgPSBFUlJfT0s7Ci0gICAgaW50IGNoaXAxLCBjaGlwMjsKLQotICAgIC8qIGZpcnN0IGxvb2sgZm9yIHByb3RlY3Rpb24gYml0cyAqLwotCi0gICAgaWYgKGluZm8tPmZsYXNoX2lkID09IEZMQVNIX1VOS05PV04pCi0JcmV0dXJuIEVSUl9VTktOT1dOX0ZMQVNIX1RZUEU7Ci0KLSAgICBpZiAoKHNfZmlyc3QgPCAwKSB8fCAoc19maXJzdCA+IHNfbGFzdCkpIHsKLQlyZXR1cm4gRVJSX0lOVkFMOwotICAgIH0KLQotICAgIGlmICgoaW5mby0+Zmxhc2hfaWQgJiBGTEFTSF9WRU5ETUFTSykgIT0KLQkoQU1EX01BTlVGQUNUICYgRkxBU0hfVkVORE1BU0spKSB7Ci0JcmV0dXJuIEVSUl9VTktOT1dOX0ZMQVNIX1ZFTkRPUjsKLSAgICB9Ci0KLSAgICBwcm90ID0gMDsKLSAgICBmb3IgKHNlY3Q9c19maXJzdDsgc2VjdDw9c19sYXN0OyArK3NlY3QpIHsKLQlpZiAoaW5mby0+cHJvdGVjdFtzZWN0XSkgewotCSAgICBwcm90Kys7Ci0JfQotICAgIH0KLSAgICBpZiAocHJvdCkKLQlyZXR1cm4gRVJSX1BST1RFQ1RFRDsKLQotICAgIC8qCi0gICAgICogRGlzYWJsZSBpbnRlcnJ1cHRzIHdoaWNoIG1pZ2h0IGNhdXNlIGEgdGltZW91dAotICAgICAqIGhlcmUuIFJlbWVtYmVyIHRoYXQgb3VyIGV4Y2VwdGlvbiB2ZWN0b3JzIGFyZQotICAgICAqIGF0IGFkZHJlc3MgMCBpbiB0aGUgZmxhc2gsIGFuZCB3ZSBkb24ndCB3YW50IGEKLSAgICAgKiAodGlja2VyKSBleGNlcHRpb24gdG8gaGFwcGVuIHdoaWxlIHRoZSBmbGFzaAotICAgICAqIGNoaXAgaXMgaW4gcHJvZ3JhbW1pbmcgbW9kZS4KLSAgICAgKi8KLSAgICBpZmxhZyA9IGRpc2FibGVfaW50ZXJydXB0cygpOwotCi0gICAgLyogU3RhcnQgZXJhc2Ugb24gdW5wcm90ZWN0ZWQgc2VjdG9ycyAqLwotICAgIGZvciAoc2VjdCA9IHNfZmlyc3Q7IHNlY3Q8PXNfbGFzdCAmJiAhY3RybGMoKTsgc2VjdCsrKQotICAgIHsKLQlwcmludGYoIkVyYXNpbmcgc2VjdG9yICUyZCAuLi4gIiwgc2VjdCk7Ci0KLQkvKiBhcm0gc2ltcGxlLCBub24gaW50ZXJydXB0IGRlcGVuZGVudCB0aW1lciAqLwotCXJlc2V0X3RpbWVyKCk7Ci0KLQlpZiAoaW5mby0+cHJvdGVjdFtzZWN0XSA9PSAwKQotCXsJLyogbm90IHByb3RlY3RlZCAqLwotCSAgICB2dV9sb25nICphZGRyID0gKHZ1X2xvbmcgKikoaW5mby0+c3RhcnRbc2VjdF0pOwotCi0JICAgIE1FTV9GTEFTSF9BRERSMSA9IENNRF9VTkxPQ0sxOwotCSAgICBNRU1fRkxBU0hfQUREUjIgPSBDTURfVU5MT0NLMjsKLQkgICAgTUVNX0ZMQVNIX0FERFIxID0gQ01EX0VSQVNFX1NFVFVQOwotCi0JICAgIE1FTV9GTEFTSF9BRERSMSA9IENNRF9VTkxPQ0sxOwotCSAgICBNRU1fRkxBU0hfQUREUjIgPSBDTURfVU5MT0NLMjsKLQkgICAgKmFkZHIgPSBDTURfRVJBU0VfQ09ORklSTTsKLQotCSAgICAvKiB3YWl0IHVudGlsIGZsYXNoIGlzIHJlYWR5ICovCi0JICAgIGNoaXAxID0gY2hpcDIgPSAwOwotCi0JICAgIGRvCi0JICAgIHsKLQkJcmVzdWx0ID0gKmFkZHI7Ci0KLQkJLyogY2hlY2sgdGltZW91dCAqLwotCQlpZiAoZ2V0X3RpbWVyKDApID4gQ0ZHX0ZMQVNIX0VSQVNFX1RPVVQpCi0JCXsKLQkJICAgIE1FTV9GTEFTSF9BRERSMSA9IENNRF9SRUFEX0FSUkFZOwotCQkgICAgY2hpcDEgPSBUTU87Ci0JCSAgICBicmVhazsKKwl1bnNpZ25lZCBlbGFwc2VkOworCQorCS8qIElzc3VlIGVyYXNlICovCisJKih2b2xhdGlsZSB1MzIqKShhZGRyICsgMHg1NTU0KSA9IDB4QUFBQUFBQUE7CisJKih2b2xhdGlsZSB1MzIqKShhZGRyICsgMHhhYWE4KSA9IDB4NTU1NTU1NTU7CisJKih2b2xhdGlsZSB1MzIqKShhZGRyICsgMHg1NTU0KSA9IDB4ODA4MDgwODA7CisJLyogQW5kIG9uZSB1bmxvY2sgKi8KKwkqKHZvbGF0aWxlIHUzMiopKGFkZHIgKyAweDU1NTQpID0gMHhBQUFBQUFBQTsKKwkqKHZvbGF0aWxlIHUzMiopKGFkZHIgKyAweGFhYTgpID0gMHg1NTU1NTU1NTsKKwkvKiBTZWN0b3IgZXJhc2UgY29tbWFuZCBjb21lcyBsYXN0ICovCisJKih2b2xhdGlsZSB1MzIqKShhZGRyICsgc2VjdG9yKSA9IDB4MzAzMDMwMzA7CisJCisJZWxhcHNlZCA9ICoodm9sYXRpbGUgdTE2KikoMHhmZmZlZjAwMCtTQzUyMF9TV1RNUk1JTExJKTsgLyogZHVtbXkgcmVhZCAqLworCWVsYXBzZWQgPSAwOworCV9fdWRlbGF5KDUwKTsKKwl3aGlsZSAoKCgqKHZvbGF0aWxlIHUzMiopKGFkZHIgKyBzZWN0b3IpKSAmIDB4ODA4MDgwODApICE9IDB4ODA4MDgwODApIHsKKwkJCisJCWVsYXBzZWQgKz0gKih2b2xhdGlsZSB1MTYqKSgweGZmZmVmMDAwK1NDNTIwX1NXVE1STUlMTEkpOworCQlpZiAoZWxhcHNlZCA+ICgoQ0ZHX0ZMQVNIX0VSQVNFX1RPVVQvQ0ZHX0haKSAqIDEwMDApKSB7CisJCQkqKHZvbGF0aWxlIHUzMiopKGFkZHIpID0gMHhmMGYwZjBmMDsKKwkJCXJldHVybiAxOwkJCQogCQl9Ci0KLQkJaWYgKCFjaGlwMSAmJiAocmVzdWx0ICYgMHhGRkZGKSAmIEJJVF9FUkFTRV9ET05FKQotCQkJY2hpcDEgPSBSRUFEWTsKLQotCQlpZiAoIWNoaXAxICYmIChyZXN1bHQgJiAweEZGRkYpICYgQklUX1BST0dSQU1fRVJST1IpCi0JCQljaGlwMSA9IEVSUjsKLQotCQlpZiAoIWNoaXAyICYmIChyZXN1bHQgPj4gMTYpICYgQklUX0VSQVNFX0RPTkUpCi0JCQljaGlwMiA9IFJFQURZOwotCi0JCWlmICghY2hpcDIgJiYgKHJlc3VsdCA+PiAxNikgJiBCSVRfUFJPR1JBTV9FUlJPUikKLQkJCWNoaXAyID0gRVJSOwotCi0JICAgIH0gIHdoaWxlICghY2hpcDEgfHwgIWNoaXAyKTsKLQotCSAgICBNRU1fRkxBU0hfQUREUjEgPSBDTURfUkVBRF9BUlJBWTsKLQotCSAgICBpZiAoY2hpcDEgPT0gRVJSIHx8IGNoaXAyID09IEVSUikKLQkgICAgewotCQlyYyA9IEVSUl9QUk9HX0VSUk9SOwotCQlnb3RvIG91dGFoZXJlOwotCSAgICB9Ci0JICAgIGlmIChjaGlwMSA9PSBUTU8pCi0JICAgIHsKLQkJcmMgPSBFUlJfVElNT1VUOwotCQlnb3RvIG91dGFoZXJlOwotCSAgICB9Ci0KLQkgICAgcHJpbnRmKCJvay5cbiIpOwogCX0KLQllbHNlIC8qIGl0IHdhcyBwcm90ZWN0ZWQgKi8KLQl7Ci0JICAgIHByaW50ZigicHJvdGVjdGVkIVxuIik7CisJCisJKih2b2xhdGlsZSB1MzIqKShhZGRyKSA9IDB4ZjBmMGYwZjA7CisJCisJcmV0dXJuIDA7Cit9CisKK2V4dGVybiBpbnQgX2FtZF9lcmFzZV9mbGFzaF9lbmQ7Cithc20gKCJfYW1kX2VyYXNlX2ZsYXNoX2VuZDpcbiIKKyAgICAgIi5sb25nIDBcbiIpOworCitpbnQgZmxhc2hfZXJhc2UoZmxhc2hfaW5mb190ICppbmZvLCBpbnQgc19maXJzdCwgaW50IHNfbGFzdCkKK3sKKwl1MzIgKCpfZXJhc2VfZmxhc2hfcHRyKSh1MzIgYSwgdTMyIHNvKTsKKwlpbnQgcHJvdDsKKwlpbnQgc2VjdDsKKwl1bnNpZ25lZCBzaXplOworCQorCWlmICgoc19maXJzdCA8IDApIHx8IChzX2ZpcnN0ID4gc19sYXN0KSkgeworCQlpZiAoaW5mby0+Zmxhc2hfaWQgPT0gRkxBU0hfVU5LTk9XTikgeworCQkJcHJpbnRmKCItIG1pc3NpbmdcbiIpOworCQl9IGVsc2UgeworCQkJcHJpbnRmKCItIG5vIHNlY3RvcnMgdG8gZXJhc2VcbiIpOworCQl9CisJCXJldHVybiAxOwogCX0KLSAgICB9CisJCisJaWYgKChpbmZvLT5mbGFzaF9pZCAmIEZMQVNIX1ZFTkRNQVNLKSA9PSAoQU1EX01BTlVGQUNUICYgRkxBU0hfVkVORE1BU0spKSB7CisJCXNpemUgPSAodW5zaWduZWQpJl9hbWRfZXJhc2VfZmxhc2hfZW5kIC0gKHVuc2lnbmVkKV9hbWRfZXJhc2VfZmxhc2g7IAorCQkKKwkJaWYgKHNpemUgPiBQUk9CRV9CVUZGRVJfU0laRSkgeworCQkJcHJpbnRmKCJfYW1kX2VyYXNlX2ZsYXNoKCkgcm91dGluZSB0b28gbGFyZ2UgKCVkKSAlcCAtICVwXG4iLAorCQkJICAgICAgIHNpemUsICZfYW1kX2VyYXNlX2ZsYXNoX2VuZCwgX2FtZF9lcmFzZV9mbGFzaCk7CisJCQlyZXR1cm4gMDsKKwkJfQorCQkKKwkJbWVtY3B5KGJ1ZmZlciwgX2FtZF9lcmFzZV9mbGFzaCwgc2l6ZSk7CisJCV9lcmFzZV9mbGFzaF9wdHIgPSAodm9pZCopYnVmZmVyOworCQorCX0gIGVsc2UgeworCQlwcmludGYgKCJDYW4ndCBlcmFzZSB1bmtub3duIGZsYXNoIHR5cGUgLSBhYm9ydGVkXG4iKTsKKwkJcmV0dXJuIDE7CisJfQorCQorCXByb3QgPSAwOworCWZvciAoc2VjdD1zX2ZpcnN0OyBzZWN0PD1zX2xhc3Q7ICsrc2VjdCkgeworCQlpZiAoaW5mby0+cHJvdGVjdFtzZWN0XSkgeworCQkJcHJvdCsrOworCQl9CisJfQorCQorCWlmIChwcm90KSB7CisJCXByaW50ZiAoIi0gV2FybmluZzogJWQgcHJvdGVjdGVkIHNlY3RvcnMgd2lsbCBub3QgYmUgZXJhc2VkIVxuIiwgcHJvdCk7CisJfSBlbHNlIHsKKwkJcHJpbnRmICgiXG4iKTsKKwl9CisJCQorCQorCS8qIFN0YXJ0IGVyYXNlIG9uIHVucHJvdGVjdGVkIHNlY3RvcnMgKi8KKwlmb3IgKHNlY3QgPSBzX2ZpcnN0OyBzZWN0PD1zX2xhc3Q7IHNlY3QrKykgeworCQkKKwkJaWYgKGluZm8tPnByb3RlY3Rbc2VjdF0gPT0gMCkgeyAvKiBub3QgcHJvdGVjdGVkICovCisJCQlpbnQgcmVzOworCQkJaW50IGZsYWc7CisJCQkKKwkJCS8qIERpc2FibGUgaW50ZXJydXB0cyB3aGljaCBtaWdodCBjYXVzZSBhIHRpbWVvdXQgaGVyZSAqLworCQkJZmxhZyA9IGRpc2FibGVfaW50ZXJydXB0cygpOworCQkJCisJCQlyZXMgPSBfZXJhc2VfZmxhc2hfcHRyKGluZm8tPnN0YXJ0WzBdLCBpbmZvLT5zdGFydFtzZWN0XS1pbmZvLT5zdGFydFswXSk7CisJCQkKKwkJCS8qIHJlLWVuYWJsZSBpbnRlcnJ1cHRzIGlmIG5lY2Vzc2FyeSAqLworCQkJaWYgKGZsYWcpIHsKKwkJCQllbmFibGVfaW50ZXJydXB0cygpOworCQkJfQorCQkJCisJCQkKKwkJCWlmIChyZXMpIHsKKwkJCQlwcmludGYoIkVyYXNlIHRpbWVkIG91dCwgc2VjdG9yICVkXG4iLCBzZWN0KTsKKwkJCQlyZXR1cm4gcmVzOworCQkJfQorCQkJCisJCQlwdXRjKCcuJyk7CQkJCisJCX0JCQorCX0KIAotICAgIGlmIChjdHJsYygpKQotICAgICAgcHJpbnRmKCJVc2VyIEludGVycnVwdCFcbiIpOwotCi1vdXRhaGVyZToKLSAgICAvKiBhbGxvdyBmbGFzaCB0byBzZXR0bGUgLSB3YWl0IDEwIG1zICovCi0gICAgdWRlbGF5KDEwMDAwKTsKLQotICAgIGlmIChpZmxhZykKLSAgICAgIGVuYWJsZV9pbnRlcnJ1cHRzKCk7Ci0KLQotICAgIHJldHVybiByYzsKKwkKKwlyZXR1cm4gMDsKIH0KIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICogQ29weSBtZW1vcnkgdG8gZmxhc2gKKyAqIFdyaXRlIGEgd29yZCB0byBGbGFzaCwgcmV0dXJuczoKKyAqIDAgLSBPSworICogMSAtIHdyaXRlIHRpbWVvdXQKKyAqIDIgLSBGbGFzaCBub3QgZXJhc2VkCiAgKi8KLQotdm9sYXRpbGUgc3RhdGljIGludCB3cml0ZV93b3JkIChmbGFzaF9pbmZvX3QgKmluZm8sIHVsb25nIGRlc3QsIHVsb25nIGRhdGEpCitzdGF0aWMgaW50IF9hbWRfd3JpdGVfd29yZCh1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZGVzdCwgdW5zaWduZWQgZGF0YSkKIHsKLSAgICB2dV9sb25nICphZGRyID0gKHZ1X2xvbmcgKilkZXN0OwotICAgIHVsb25nIHJlc3VsdDsKLSAgICBpbnQgcmMgPSBFUlJfT0s7Ci0gICAgaW50IGlmbGFnOwotICAgIGludCBjaGlwMSwgY2hpcDI7Ci0KLSAgICAvKgotICAgICAqIENoZWNrIGlmIEZsYXNoIGlzIChzdWZmaWNpZW50bHkpIGVyYXNlZAotICAgICAqLwotICAgIHJlc3VsdCA9ICphZGRyOwotICAgIGlmICgocmVzdWx0ICYgZGF0YSkgIT0gZGF0YSkKLSAgICAgICAgcmV0dXJuIEVSUl9OT1RfRVJBU0VEOwotCi0KLSAgICAvKgotICAgICAqIERpc2FibGUgaW50ZXJydXB0cyB3aGljaCBtaWdodCBjYXVzZSBhIHRpbWVvdXQKLSAgICAgKiBoZXJlLiBSZW1lbWJlciB0aGF0IG91ciBleGNlcHRpb24gdmVjdG9ycyBhcmUKLSAgICAgKiBhdCBhZGRyZXNzIDAgaW4gdGhlIGZsYXNoLCBhbmQgd2UgZG9uJ3Qgd2FudCBhCi0gICAgICogKHRpY2tlcikgZXhjZXB0aW9uIHRvIGhhcHBlbiB3aGlsZSB0aGUgZmxhc2gKLSAgICAgKiBjaGlwIGlzIGluIHByb2dyYW1taW5nIG1vZGUuCi0gICAgICovCi0gICAgaWZsYWcgPSBkaXNhYmxlX2ludGVycnVwdHMoKTsKLQotICAgIE1FTV9GTEFTSF9BRERSMSA9IENNRF9VTkxPQ0sxOwotICAgIE1FTV9GTEFTSF9BRERSMiA9IENNRF9VTkxPQ0syOwotICAgIE1FTV9GTEFTSF9BRERSMSA9IENNRF9VTkxPQ0tfQllQQVNTOwotICAgICphZGRyID0gQ01EX1BST0dSQU07Ci0gICAgKmFkZHIgPSBkYXRhOwotCi0gICAgLyogYXJtIHNpbXBsZSwgbm9uIGludGVycnVwdCBkZXBlbmRlbnQgdGltZXIgKi8KLSAgICByZXNldF90aW1lcigpOwotCi0gICAgLyogd2FpdCB1bnRpbCBmbGFzaCBpcyByZWFkeSAqLwotICAgIGNoaXAxID0gY2hpcDIgPSAwOwotICAgIGRvCi0gICAgewotCXJlc3VsdCA9ICphZGRyOwotCi0JLyogY2hlY2sgdGltZW91dCAqLwotCWlmIChnZXRfdGltZXIoMCkgPiBDRkdfRkxBU0hfRVJBU0VfVE9VVCkKLQl7Ci0JICAgIGNoaXAxID0gRVJSIHwgVE1POwotCSAgICBicmVhazsKKwl2b2xhdGlsZSB1MzIgKmFkZHIyID0gKHUzMiopc3RhcnQ7CisJdm9sYXRpbGUgdTMyICpkZXN0MiA9ICh1MzIqKWRlc3Q7CisJdm9sYXRpbGUgdTMyICpkYXRhMiA9ICh1MzIqKSZkYXRhOworCXVuc2lnbmVkIGVsYXBzZWQ7CisJCisJLyogQ2hlY2sgaWYgRmxhc2ggaXMgKHN1ZmZpY2llbnRseSkgZXJhc2VkICovCisJaWYgKCgqKCh2b2xhdGlsZSB1MzIqKWRlc3QpICYgKHUzMilkYXRhKSAhPSAodTMyKWRhdGEpIHsKKwkJcmV0dXJuIDI7CiAJfQotCWlmICghY2hpcDEgJiYgKChyZXN1bHQgJiAweDgwKSA9PSAoZGF0YSAmIDB4ODApKSkKLQkJY2hpcDEgPSBSRUFEWTsKLQotCWlmICghY2hpcDEgJiYgKChyZXN1bHQgJiAweEZGRkYpICYgQklUX1BST0dSQU1fRVJST1IpKQotCXsKLQkJcmVzdWx0ID0gKmFkZHI7Ci0KLQkJaWYgKChyZXN1bHQgJiAweDgwKSA9PSAoZGF0YSAmIDB4ODApKQotCQkJY2hpcDEgPSBSRUFEWTsKLQkJZWxzZQotCQkJY2hpcDEgPSBFUlI7CisJCQorCWFkZHIyWzB4NTU1NF0gPSAweEFBQUFBQUFBOworCWFkZHIyWzB4YWFhOF0gPSAweDU1NTU1NTU1OworCWFkZHIyWzB4NTU1NF0gPSAweEEwQTBBMEEwOworCQorCWRlc3QyWzBdID0gZGF0YTsKKwkKKwllbGFwc2VkID0gKih2b2xhdGlsZSB1MTYqKSgweGZmZmVmMDAwK1NDNTIwX1NXVE1STUlMTEkpOyAvKiBkdW1teSByZWFkICovCisJZWxhcHNlZCA9IDA7CisJCisJLyogZGF0YSBwb2xsaW5nIGZvciBENyAqLworCXdoaWxlICgoZGVzdDJbMF0gJiAweDgwODA4MDgwKSAhPSAoZGF0YTJbMF0gJiAweDgwODA4MDgwKSkgeworCQllbGFwc2VkICs9ICoodm9sYXRpbGUgdTE2KikoMHhmZmZlZjAwMCtTQzUyMF9TV1RNUk1JTExJKTsKKwkJaWYgKGVsYXBzZWQgPiAoKENGR19GTEFTSF9XUklURV9UT1VUL0NGR19IWikgKiAxMDAwKSkgeworCQkJYWRkcjJbMF0gPSAweGYwZjBmMGYwOworCQkJcmV0dXJuIDE7CQkJCisJCX0KIAl9CiAKLQlpZiAoIWNoaXAyICYmICgocmVzdWx0ICYgKDB4ODAgPDwgMTYpKSA9PSAoZGF0YSAmICgweDgwIDw8IDE2KSkpKQotCQljaGlwMiA9IFJFQURZOwotCi0JaWYgKCFjaGlwMiAmJiAoKHJlc3VsdCA+PiAxNikgJiBCSVRfUFJPR1JBTV9FUlJPUikpCi0JewotCQlyZXN1bHQgPSAqYWRkcjsKLQotCQlpZiAoKHJlc3VsdCAmICgweDgwIDw8IDE2KSkgPT0gKGRhdGEgJiAoMHg4MCA8PCAxNikpKQotCQkJY2hpcDIgPSBSRUFEWTsKLQkJZWxzZQotCQkJY2hpcDIgPSBFUlI7Ci0JfQotCi0gICAgfSAgd2hpbGUgKCFjaGlwMSB8fCAhY2hpcDIpOwotCi0gICAgKmFkZHIgPSBDTURfUkVBRF9BUlJBWTsKLQotICAgIGlmIChjaGlwMSA9PSBFUlIgfHwgY2hpcDIgPT0gRVJSIHx8ICphZGRyICE9IGRhdGEpCi0gICAgICAgIHJjID0gRVJSX1BST0dfRVJST1I7Ci0KLSAgICBpZiAoaWZsYWcpCi0gICAgICBlbmFibGVfaW50ZXJydXB0cygpOwotCi0KLSAgICByZXR1cm4gcmM7CisJCisJYWRkcjJbMF0gPSAweGYwZjBmMGYwOworCQorCXJldHVybiAwOwogfQogCitleHRlcm4gaW50IF9hbWRfd3JpdGVfd29yZF9lbmQ7Cithc20gKCJfYW1kX3dyaXRlX3dvcmRfZW5kOlxuIgorICAgICAiLmxvbmcgMFxuIik7CisKKworCisKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAqIENvcHkgbWVtb3J5IHRvIGZsYXNoLgorICogQ29weSBtZW1vcnkgdG8gZmxhc2gsIHJldHVybnM6CisgKiAwIC0gT0sKKyAqIDEgLSB3cml0ZSB0aW1lb3V0CisgKiAyIC0gRmxhc2ggbm90IGVyYXNlZAorICogMyAtIFVuc3VwcG9ydGVkIGZsYXNoIHR5cGUKICAqLwogCi1pbnQgd3JpdGVfYnVmZiAoZmxhc2hfaW5mb190ICppbmZvLCB1Y2hhciAqc3JjLCB1bG9uZyBhZGRyLCB1bG9uZyBjbnQpCitpbnQgd3JpdGVfYnVmZihmbGFzaF9pbmZvX3QgKmluZm8sIHVjaGFyICpzcmMsIHVsb25nIGFkZHIsIHVsb25nIGNudCkKIHsKLSAgICB1bG9uZyBjcCwgd3AsIGRhdGE7Ci0gICAgaW50IGw7Ci0gICAgaW50IGksIHJjOworCXVsb25nIGNwLCB3cCwgZGF0YTsKKwlpbnQgaSwgbCwgcmM7CisJaW50IGZsYWc7CisJdTMyICgqX3dyaXRlX3dvcmRfcHRyKSh1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZGVzdCwgdW5zaWduZWQgZGF0YSk7CisJdW5zaWduZWQgc2l6ZTsKKwkKKwlpZiAoKGluZm8tPmZsYXNoX2lkICYgRkxBU0hfVkVORE1BU0spID09IChBTURfTUFOVUZBQ1QgJiBGTEFTSF9WRU5ETUFTSykpIHsKKwkJc2l6ZSA9ICh1bnNpZ25lZCkmX2FtZF93cml0ZV93b3JkX2VuZCAtICh1bnNpZ25lZClfYW1kX3dyaXRlX3dvcmQ7IAorCQkKKwkJaWYgKHNpemUgPiBQUk9CRV9CVUZGRVJfU0laRSkgeworCQkJcHJpbnRmKCJfYW1kX3dyaXRlX3dvcmQoKSByb3V0aW5lIHRvbyBsYXJnZSAoJWQpICVwIC0gJXBcbiIsCisJCQkgICAgICAgc2l6ZSwgJl9hbWRfd3JpdGVfd29yZF9lbmQsIF9hbWRfd3JpdGVfd29yZCk7CisJCQlyZXR1cm4gMDsKKwkJfQorCQkKKwkJbWVtY3B5KGJ1ZmZlciwgX2FtZF93cml0ZV93b3JkLCBzaXplKTsKKwkJX3dyaXRlX3dvcmRfcHRyID0gKHZvaWQqKWJ1ZmZlcjsKKwkKKwl9IGVsc2UgeworCQlwcmludGYgKCJDYW4ndCBwcm9ncmFtIHVua25vd24gZmxhc2ggdHlwZSAtIGFib3J0ZWRcbiIpOworCQlyZXR1cm4gMzsKKwl9CiAKLSAgICB3cCA9IChhZGRyICYgfjMpOwkvKiBnZXQgbG93ZXIgd29yZCBhbGlnbmVkIGFkZHJlc3MgKi8KIAotICAgIC8qCi0gICAgICogaGFuZGxlIHVuYWxpZ25lZCBzdGFydCBieXRlcwotICAgICAqLwotICAgIGlmICgobCA9IGFkZHIgLSB3cCkgIT0gMCkgeworCXdwID0gKGFkZHIgJiB+Myk7CS8qIGdldCBsb3dlciB3b3JkIGFsaWduZWQgYWRkcmVzcyAqLworCQorCisJLyoKKwkgKiBoYW5kbGUgdW5hbGlnbmVkIHN0YXJ0IGJ5dGVzCisJICovCisJaWYgKChsID0gYWRkciAtIHdwKSAhPSAwKSB7CisJCWRhdGEgPSAwOworCQlmb3IgKGk9MCwgY3A9d3A7IGk8bDsgKytpLCArK2NwKSB7CisJCQlkYXRhIHw9ICgqKHVjaGFyICopY3ApIDw8ICg4KmkpOworCQl9CisJCWZvciAoOyBpPDQgJiYgY250PjA7ICsraSkgeworCQkJZGF0YSB8PSAqc3JjKysgPDwgKDgqaSk7CisJCQktLWNudDsKKwkJCSsrY3A7CisJCX0KKwkJZm9yICg7IGNudD09MCAmJiBpPDQ7ICsraSwgKytjcCkgeworCQkJZGF0YSB8PSAoKih1Y2hhciAqKWNwKSAgPDwgKDgqaSk7CisJCX0KKwkJCisJCS8qIERpc2FibGUgaW50ZXJydXB0cyB3aGljaCBtaWdodCBjYXVzZSBhIHRpbWVvdXQgaGVyZSAqLworCQlmbGFnID0gZGlzYWJsZV9pbnRlcnJ1cHRzKCk7CisJCQorCQlyYyA9IF93cml0ZV93b3JkX3B0cihpbmZvLT5zdGFydFswXSwgd3AsIGRhdGEpOworCQkKKwkJLyogcmUtZW5hYmxlIGludGVycnVwdHMgaWYgbmVjZXNzYXJ5ICovCisJCWlmIChmbGFnKSB7CisJCQllbmFibGVfaW50ZXJydXB0cygpOworCQl9CisJCWlmIChyYyAhPSAwKSB7CisJCQlyZXR1cm4gcmM7CisJCX0KKwkJd3AgKz0gNDsKKwl9CisJCisJLyoKKwkgKiBoYW5kbGUgd29yZCBhbGlnbmVkIHBhcnQKKwkgKi8KKwl3aGlsZSAoY250ID49IDQpIHsKKwkJZGF0YSA9IDA7CisJCQkgICAgICAgCisJCWZvciAoaT0wOyBpPDQ7ICsraSkgeworCQkJZGF0YSB8PSAqc3JjKysgPDwgKDgqaSk7CisJCX0KKwkJCisJCS8qIERpc2FibGUgaW50ZXJydXB0cyB3aGljaCBtaWdodCBjYXVzZSBhIHRpbWVvdXQgaGVyZSAqLworCQlmbGFnID0gZGlzYWJsZV9pbnRlcnJ1cHRzKCk7CisKKwkJcmMgPSBfd3JpdGVfd29yZF9wdHIoaW5mby0+c3RhcnRbMF0sIHdwLCBkYXRhKTsKKwkJCisJCS8qIHJlLWVuYWJsZSBpbnRlcnJ1cHRzIGlmIG5lY2Vzc2FyeSAqLworCQlpZiAoZmxhZykgeworCQkJZW5hYmxlX2ludGVycnVwdHMoKTsKKwkJfQorCQlpZiAocmMgIT0gMCkgeworCQkJcmV0dXJuIHJjOworCQl9CisJCXdwICArPSA0OworCQljbnQgLT0gNDsKKwl9CisJCisJaWYgKGNudCA9PSAwKSB7CisJCXJldHVybiAwOworCX0KKwkKKwkvKgorCSAqIGhhbmRsZSB1bmFsaWduZWQgdGFpbCBieXRlcworCSAqLwogCWRhdGEgPSAwOwotCWZvciAoaT0wLCBjcD13cDsgaTxsOyArK2ksICsrY3ApIHsKLQkgICAgZGF0YSA9IChkYXRhID4+IDgpIHwgKCoodWNoYXIgKiljcCA8PCAyNCk7CisJZm9yIChpPTAsIGNwPXdwOyBpPDQgJiYgY250PjA7ICsraSwgKytjcCkgeworCQlkYXRhIHw9ICpzcmMrKyA8PCAoOCppKTsKKwkJLS1jbnQ7CiAJfQotCWZvciAoOyBpPDQgJiYgY250PjA7ICsraSkgewotCSAgICBkYXRhID0gKGRhdGEgPj4gOCkgfCAoKnNyYysrIDw8IDI0KTsKLQkgICAgLS1jbnQ7Ci0JICAgICsrY3A7Ci0JfQotCWZvciAoOyBjbnQ9PTAgJiYgaTw0OyArK2ksICsrY3ApIHsKLQkgICAgZGF0YSA9IChkYXRhID4+IDgpIHwgKCoodWNoYXIgKiljcCA8PCAyNCk7CisJCisJZm9yICg7IGk8NDsgKytpLCArK2NwKSB7CisJCWRhdGEgfD0gKCoodWNoYXIgKiljcCkgPDwgKDgqaSk7CiAJfQogCi0JaWYgKChyYyA9IHdyaXRlX3dvcmQoaW5mbywgd3AsIGRhdGEpKSAhPSAwKSB7Ci0JICAgIHJldHVybiAocmMpOworCS8qIERpc2FibGUgaW50ZXJydXB0cyB3aGljaCBtaWdodCBjYXVzZSBhIHRpbWVvdXQgaGVyZSAqLworCWZsYWcgPSBkaXNhYmxlX2ludGVycnVwdHMoKTsKKworCXJjID0gX3dyaXRlX3dvcmRfcHRyKGluZm8tPnN0YXJ0WzBdLCB3cCwgZGF0YSk7CisJCisJLyogcmUtZW5hYmxlIGludGVycnVwdHMgaWYgbmVjZXNzYXJ5ICovCisJaWYgKGZsYWcpIHsKKwkJZW5hYmxlX2ludGVycnVwdHMoKTsKIAl9Ci0Jd3AgKz0gNDsKLSAgICB9Ci0KLSAgICAvKgotICAgICAqIGhhbmRsZSB3b3JkIGFsaWduZWQgcGFydAotICAgICAqLwotICAgIHdoaWxlIChjbnQgPj0gNCkgewotCWRhdGEgPSAqKCh2dV9sb25nKilzcmMpOwotCWlmICgocmMgPSB3cml0ZV93b3JkKGluZm8sIHdwLCBkYXRhKSkgIT0gMCkgewotCSAgICByZXR1cm4gKHJjKTsKLQl9Ci0Jc3JjICs9IDQ7Ci0Jd3AgICs9IDQ7Ci0JY250IC09IDQ7Ci0gICAgfQotCi0gICAgaWYgKGNudCA9PSAwKSB7Ci0JcmV0dXJuIEVSUl9PSzsKLSAgICB9Ci0KLSAgICAvKgotICAgICAqIGhhbmRsZSB1bmFsaWduZWQgdGFpbCBieXRlcwotICAgICAqLwotICAgIGRhdGEgPSAwOwotICAgIGZvciAoaT0wLCBjcD13cDsgaTw0ICYmIGNudD4wOyArK2ksICsrY3ApIHsKLQlkYXRhID0gKGRhdGEgPj4gOCkgfCAoKnNyYysrIDw8IDI0KTsKLQktLWNudDsKLSAgICB9Ci0gICAgZm9yICg7IGk8NDsgKytpLCArK2NwKSB7Ci0JZGF0YSA9IChkYXRhID4+IDgpIHwgKCoodWNoYXIgKiljcCA8PCAyNCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIHdyaXRlX3dvcmQoaW5mbywgd3AsIGRhdGEpOworCQorCXJldHVybiByYzsKKwkKIH0KKworCmRpZmYgLS1naXQgYS9ib2FyZC9zYzUyMF9jZHAvZmxhc2hfb2xkLmMgYi9ib2FyZC9zYzUyMF9jZHAvZmxhc2hfb2xkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQyMDRhOAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkL3NjNTIwX2NkcC9mbGFzaF9vbGQuYwpAQCAtMCwwICsxLDQ1OCBAQAorLyoKKyAqIChDKSBDb3B5cmlnaHQgMjAwMgorICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIsIGRhbmllbEBvbWljcm9uLnNlCisgKiAKKyAqIChDKSBDb3B5cmlnaHQgMjAwMgorICogU3lzZ28gUmVhbC1UaW1lIFNvbHV0aW9ucywgR21iSCA8d3d3LmVsaW5vcy5jb20+CisgKiBBbGV4IFp1ZXBrZSA8YXp1QHN5c2dvLmRlPgorICoKKyAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCisgKiBwcm9qZWN0LgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sCisgKiBNQSAwMjExMS0xMzA3IFVTQQorICovCisKKyNpbmNsdWRlIDxjb21tb24uaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKwordWxvbmcgbXlmbHVzaCh2b2lkKTsKKworCisjZGVmaW5lIFNDNTIwX01BWF9GTEFTSF9CQU5LUyAgMworI2RlZmluZSBTQzUyMF9GTEFTSF9CQU5LMF9CQVNFIDB4MzgwMDAwMDAgIC8qIEJPT1RDUyAqLworI2RlZmluZSBTQzUyMF9GTEFTSF9CQU5LMV9CQVNFIDB4MzAwMDAwMDAgIC8qIFJPTUNTMCAqLworI2RlZmluZSBTQzUyMF9GTEFTSF9CQU5LMl9CQVNFIDB4MjgwMDAwMDAgIC8qIFJPTUNTMSAqLworI2RlZmluZSBTQzUyMF9GTEFTSF9CQU5LU0laRSAgIDB4ODAwMDAwMAorCisjZGVmaW5lIEFNRDI5TFYwMTZfU0laRSAgICAgICAgMHgyMDAwMDAKKyNkZWZpbmUgQU1EMjlMVjAxNl9TRUNUT1JTICAgICAzMgorCitmbGFzaF9pbmZvX3QgICAgZmxhc2hfaW5mb1tTQzUyMF9NQVhfRkxBU0hfQkFOS1NdOworCisjZGVmaW5lIENNRF9SRUFEX0FSUkFZCQkweDAwRjAwMEYwCisjZGVmaW5lIENNRF9VTkxPQ0sxCQkweDAwQUEwMEFBCisjZGVmaW5lIENNRF9VTkxPQ0syCQkweDAwNTUwMDU1CisjZGVmaW5lIENNRF9FUkFTRV9TRVRVUAkJMHgwMDgwMDA4MAorI2RlZmluZSBDTURfRVJBU0VfQ09ORklSTQkweDAwMzAwMDMwCisjZGVmaW5lIENNRF9QUk9HUkFNCQkweDAwQTAwMEEwCisjZGVmaW5lIENNRF9VTkxPQ0tfQllQQVNTCTB4MDAyMDAwMjAKKworCisjZGVmaW5lIEJJVF9FUkFTRV9ET05FCQkweDAwODAwMDgwCisjZGVmaW5lIEJJVF9SRFlfTUFTSwkJMHgwMDgwMDA4MAorI2RlZmluZSBCSVRfUFJPR1JBTV9FUlJPUgkweDAwMjAwMDIwCisjZGVmaW5lIEJJVF9USU1FT1VUCQkweDgwMDAwMDAwIC8qIG91ciBmbGFnICovCisKKyNkZWZpbmUgUkVBRFkgMQorI2RlZmluZSBFUlIgICAyCisjZGVmaW5lIFRNTyAgIDQKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKK3Vsb25nIGZsYXNoX2luaXQodm9pZCkKK3sKKwlpbnQgaSwgajsKKwl1bG9uZyBzaXplID0gMDsKKwkKKwlmb3IgKGkgPSAwOyBpIDwgU0M1MjBfTUFYX0ZMQVNIX0JBTktTOyBpKyspIHsKKwkJdWxvbmcgZmxhc2hiYXNlID0gMDsKKwkJaW50IHNlY3RzaXplID0gMDsgCisJCWlmIChpPT0wIHx8IGk9PTIpIHsKKwkJCS8qIEZpeE1lOiB0aGlzIGFzc3VtZXMgdGhhdCBiYW5rIDAgYW5kIDIgCisJCQkgKiBhcmUgbWFwcGVkIHRvIHRoZSB0d28gOE1iIGJhbmtzICovCisJCQlmbGFzaF9pbmZvW2ldLmZsYXNoX2lkID0KKwkJCQkoQU1EX01BTlVGQUNUICYgRkxBU0hfVkVORE1BU0spIHwKKwkJCQkoQU1EX0lEX0xWMDE2QiAmIEZMQVNIX1RZUEVNQVNLKTsKKwkJCQorCQkJZmxhc2hfaW5mb1tpXS5zaXplID0gQU1EMjlMVjAxNl9TSVpFKjQ7CisJCQlmbGFzaF9pbmZvW2ldLnNlY3Rvcl9jb3VudCA9IEFNRDI5TFYwMTZfU0VDVE9SUzsKKwkJCXNlY3RzaXplID0gKEFNRDI5TFYwMTZfU0laRSo0KS9BTUQyOUxWMDE2X1NFQ1RPUlM7CisJCX0gZWxzZSB7CisJCQkvKiBGaXhNZTogdGhpcyBhc3N1bWVzIHRoYXQgYmFuazEgaXMgdW5tYXBwZWQgCisJCQkgKiAob3IgbWFwcGVkIHRvIHRoZSBzYW1lIGZsYXNoIGJhbmsgYXMgQk9PVENTKSAqLworCQkJZmxhc2hfaW5mb1tpXS5mbGFzaF9pZCA9IDA7CisJCQlmbGFzaF9pbmZvW2ldLnNpemUgPSAwOworCQkJZmxhc2hfaW5mb1tpXS5zZWN0b3JfY291bnQgPSAwOworCQkJc2VjdHNpemU9MDsKKwkJfQorCQltZW1zZXQoZmxhc2hfaW5mb1tpXS5wcm90ZWN0LCAwLCBDRkdfTUFYX0ZMQVNIX1NFQ1QpOworCQlzd2l0Y2ggKGkpIHsKKwkJY2FzZSAwOgorCQkJZmxhc2hiYXNlID0gU0M1MjBfRkxBU0hfQkFOSzBfQkFTRTsKKwkJCWJyZWFrOworCQljYXNlIDE6CisJCQlmbGFzaGJhc2UgPSBTQzUyMF9GTEFTSF9CQU5LMV9CQVNFOworCQkJYnJlYWs7CisJCWNhc2UgMjoKKwkJCWZsYXNoYmFzZSA9IFNDNTIwX0ZMQVNIX0JBTkswX0JBU0U7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXBhbmljKCJjb25maWd1cmVkIHRvIG1hbnkgZmxhc2ggYmFua3MhXG4iKTsKKwkJfQorCQkKKwkJZm9yIChqID0gMDsgaiA8IGZsYXNoX2luZm9baV0uc2VjdG9yX2NvdW50OyBqKyspIHsKKwkJCWZsYXNoX2luZm9baV0uc3RhcnRbal0gPSBzZWN0c2l6ZTsKKwkJCWZsYXNoX2luZm9baV0uc3RhcnRbal0gPSBmbGFzaGJhc2UgKyBqICogc2VjdHNpemU7CisJCX0KKwkJc2l6ZSArPSBmbGFzaF9pbmZvW2ldLnNpemU7CisJfQorCQorCS8qCisJICogUHJvdGVjdCBtb25pdG9yIGFuZCBlbnZpcm9ubWVudCBzZWN0b3JzCisJICovCisJZmxhc2hfcHJvdGVjdChGTEFHX1BST1RFQ1RfU0VULAorCQkgICAgICBpMzg2Ym9vdF9zdGFydC1TQzUyMF9GTEFTSF9CQU5LMF9CQVNFLAorCQkgICAgICBpMzg2Ym9vdF9lbmQtU0M1MjBfRkxBU0hfQkFOSzBfQkFTRSwKKwkJICAgICAgJmZsYXNoX2luZm9bMF0pOworCQorI2lmZGVmIENGR19FTlZfQUREUgorCWZsYXNoX3Byb3RlY3QoRkxBR19QUk9URUNUX1NFVCwKKwkJICAgICAgQ0ZHX0VOVl9BRERSLAorCQkgICAgICBDRkdfRU5WX0FERFIgKyBDRkdfRU5WX1NJWkUgLSAxLAorCQkgICAgICAmZmxhc2hfaW5mb1swXSk7CisjZW5kaWYKKwlyZXR1cm4gc2l6ZTsKK30KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCit2b2lkIGZsYXNoX3ByaW50X2luZm8oZmxhc2hfaW5mb190ICppbmZvKQoreworCWludCBpOworCisJc3dpdGNoIChpbmZvLT5mbGFzaF9pZCAmIEZMQVNIX1ZFTkRNQVNLKSB7CisJY2FzZSAoQU1EX01BTlVGQUNUICYgRkxBU0hfVkVORE1BU0spOgorCQlwcmludGYoIkFNRDogIik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXByaW50ZigiVW5rbm93biBWZW5kb3IgIik7CisJCWJyZWFrOworCX0KKwkKKwlzd2l0Y2ggKGluZm8tPmZsYXNoX2lkICYgRkxBU0hfVFlQRU1BU0spIHsKKwljYXNlIChBTURfSURfTFYwMTZCICYgRkxBU0hfVFlQRU1BU0spOgorCQlwcmludGYoIjR4IEFtZDI5TFYwMTZCICgxNk1iaXQpXG4iKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcHJpbnRmKCJVbmtub3duIENoaXAgVHlwZVxuIik7CisJCWdvdG8gZG9uZTsKKwkJYnJlYWs7CisJfQorCQorCXByaW50ZigiICBTaXplOiAlbGQgTUIgaW4gJWQgU2VjdG9yc1xuIiwKKwkgICAgICAgaW5mby0+c2l6ZSA+PiAyMCwgaW5mby0+c2VjdG9yX2NvdW50KTsKKwkKKwlwcmludGYoIiAgU2VjdG9yIFN0YXJ0IEFkZHJlc3NlczoiKTsKKwlmb3IgKGkgPSAwOyBpIDwgaW5mby0+c2VjdG9yX2NvdW50OyBpKyspIHsKKwkJaWYgKChpICUgNSkgPT0gMCkgeworCQkJcHJpbnRmICgiXG4gICAiKTsKKwkJfQorCQlwcmludGYgKCIgJTA4bFglcyIsIGluZm8tPnN0YXJ0W2ldLAorCQkJaW5mby0+cHJvdGVjdFtpXSA/ICIgKFJPKSIgOiAiICAgICAiKTsKKwl9CisJcHJpbnRmICgiXG4iKTsKKwkKKwlkb25lOgorfQorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworaW50IGZsYXNoX2VyYXNlKGZsYXNoX2luZm9fdCAqaW5mbywgaW50IHNfZmlyc3QsIGludCBzX2xhc3QpCit7CisJdWxvbmcgcmVzdWx0OworCWludCBpZmxhZywgcHJvdCwgc2VjdDsKKwlpbnQgcmMgPSBFUlJfT0s7CisJaW50IGNoaXAxLCBjaGlwMjsKKworCS8qIGZpcnN0IGxvb2sgZm9yIHByb3RlY3Rpb24gYml0cyAqLworCQorCWlmIChpbmZvLT5mbGFzaF9pZCA9PSBGTEFTSF9VTktOT1dOKSB7CisJCXJldHVybiBFUlJfVU5LTk9XTl9GTEFTSF9UWVBFOworCX0KKwkKKwlpZiAoKHNfZmlyc3QgPCAwKSB8fCAoc19maXJzdCA+IHNfbGFzdCkpIHsKKwkJcmV0dXJuIEVSUl9JTlZBTDsKKwl9CisJCisJaWYgKChpbmZvLT5mbGFzaF9pZCAmIEZMQVNIX1ZFTkRNQVNLKSAhPQorCSAgICAoQU1EX01BTlVGQUNUICYgRkxBU0hfVkVORE1BU0spKSB7CisJCXJldHVybiBFUlJfVU5LTk9XTl9GTEFTSF9WRU5ET1I7CisJfQorCQorCXByb3QgPSAwOworCWZvciAoc2VjdD1zX2ZpcnN0OyBzZWN0PD1zX2xhc3Q7ICsrc2VjdCkgeworCQlpZiAoaW5mby0+cHJvdGVjdFtzZWN0XSkgeworCQkJcHJvdCsrOworCQl9CisJfQorCWlmIChwcm90KSB7CisJCXJldHVybiBFUlJfUFJPVEVDVEVEOworCX0KKwkKKwkvKgorCSAqIERpc2FibGUgaW50ZXJydXB0cyB3aGljaCBtaWdodCBjYXVzZSBhIHRpbWVvdXQKKwkgKiBoZXJlLiBSZW1lbWJlciB0aGF0IG91ciBleGNlcHRpb24gdmVjdG9ycyBhcmUKKwkgKiBhdCBhZGRyZXNzIDAgaW4gdGhlIGZsYXNoLCBhbmQgd2UgZG9uJ3Qgd2FudCBhCisJICogKHRpY2tlcikgZXhjZXB0aW9uIHRvIGhhcHBlbiB3aGlsZSB0aGUgZmxhc2gKKwkgKiBjaGlwIGlzIGluIHByb2dyYW1taW5nIG1vZGUuCisJICovCisJaWZsYWcgPSBkaXNhYmxlX2ludGVycnVwdHMoKTsKKwkKKwkvKiBTdGFydCBlcmFzZSBvbiB1bnByb3RlY3RlZCBzZWN0b3JzICovCisJZm9yIChzZWN0ID0gc19maXJzdDsgc2VjdDw9c19sYXN0ICYmICFjdHJsYygpOyBzZWN0KyspIHsKKwkJcHJpbnRmKCJFcmFzaW5nIHNlY3RvciAlMmQgLi4uICIsIHNlY3QpOworCQkKKwkJLyogYXJtIHNpbXBsZSwgbm9uIGludGVycnVwdCBkZXBlbmRlbnQgdGltZXIgKi8KKwkJcmVzZXRfdGltZXIoKTsKKwkJCisJCWlmIChpbmZvLT5wcm90ZWN0W3NlY3RdID09IDApIHsJCisJCQkvKiBub3QgcHJvdGVjdGVkICovCisJCQl1bG9uZyBhZGRyID0gaW5mby0+c3RhcnRbc2VjdF07CisJCQkKKwkJCXdyaXRlbChDTURfVU5MT0NLMSwgYWRkciArIDEpOworCQkJd3JpdGVsKENNRF9VTkxPQ0syLCBhZGRyICsgMik7CisJCQl3cml0ZWwoQ01EX0VSQVNFX1NFVFVQLCBhZGRyICsgMSk7CisJCQkKKwkJCXdyaXRlbChDTURfVU5MT0NLMSwgYWRkciArIDEpOworCQkJd3JpdGVsKENNRF9VTkxPQ0syLCBhZGRyICsgMik7CisJCQl3cml0ZWwoQ01EX0VSQVNFX0NPTkZJUk0sIGFkZHIpOworCisJCQkKKwkJCS8qIHdhaXQgdW50aWwgZmxhc2ggaXMgcmVhZHkgKi8KKwkJCWNoaXAxID0gY2hpcDIgPSAwOworCQkJCisJCQlkbyB7CisJCQkJcmVzdWx0ID0gcmVhZGwoYWRkcik7CisJCQkJCisJCQkJLyogY2hlY2sgdGltZW91dCAqLworCQkJCWlmIChnZXRfdGltZXIoMCkgPiBDRkdfRkxBU0hfRVJBU0VfVE9VVCkgeworCQkJCQl3cml0ZWwoQ01EX1JFQURfQVJSQVksIGFkZHIgKyAxKTsKKwkJCQkJY2hpcDEgPSBUTU87CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCQkKKwkJCQlpZiAoIWNoaXAxICYmIChyZXN1bHQgJiAweEZGRkYpICYgQklUX0VSQVNFX0RPTkUpIHsKKwkJCQkJY2hpcDEgPSBSRUFEWTsKKwkJCQl9CisJCQkJCisJCQkJaWYgKCFjaGlwMSAmJiAocmVzdWx0ICYgMHhGRkZGKSAmIEJJVF9QUk9HUkFNX0VSUk9SKSB7CisJCQkJCWNoaXAxID0gRVJSOworCQkJCX0KKwkJCQkKKwkJCQlpZiAoIWNoaXAyICYmIChyZXN1bHQgPj4gMTYpICYgQklUX0VSQVNFX0RPTkUpIHsKKwkJCQkJY2hpcDIgPSBSRUFEWTsKKwkJCQl9CisJCQkJCisJCQkJaWYgKCFjaGlwMiAmJiAocmVzdWx0ID4+IDE2KSAmIEJJVF9QUk9HUkFNX0VSUk9SKSB7CisJCQkJCWNoaXAyID0gRVJSOworCQkJCX0KKwkJCQkKKwkJCX0gIHdoaWxlICghY2hpcDEgfHwgIWNoaXAyKTsKKwkJCQorCQkJd3JpdGVsKENNRF9SRUFEX0FSUkFZLCBhZGRyICsgMSk7CisJCQkKKwkJCWlmIChjaGlwMSA9PSBFUlIgfHwgY2hpcDIgPT0gRVJSKSB7CisJCQkJcmMgPSBFUlJfUFJPR19FUlJPUjsKKwkJCQlnb3RvIG91dGFoZXJlOworCQkJfQorCQkJCisJCQlpZiAoY2hpcDEgPT0gVE1PKSB7CisJCQkJcmMgPSBFUlJfVElNT1VUOworCQkJCWdvdG8gb3V0YWhlcmU7CisJCQl9CisJCQkKKwkJCXByaW50Zigib2suXG4iKTsKKwkJfSBlbHNlIHsgLyogaXQgd2FzIHByb3RlY3RlZCAqLworCQkJCisJCQlwcmludGYoInByb3RlY3RlZCFcbiIpOworCQl9CisJfQorCQorCWlmIChjdHJsYygpKSB7CisJCXByaW50ZigiVXNlciBJbnRlcnJ1cHQhXG4iKTsKKwl9CisKK291dGFoZXJlOgorCS8qIGFsbG93IGZsYXNoIHRvIHNldHRsZSAtIHdhaXQgMTAgbXMgKi8KKwl1ZGVsYXkoMTAwMDApOworCQorCWlmIChpZmxhZykgeworCQllbmFibGVfaW50ZXJydXB0cygpOworCX0KKwkKKwlyZXR1cm4gcmM7Cit9CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIENvcHkgbWVtb3J5IHRvIGZsYXNoCisgKi8KKwordm9sYXRpbGUgc3RhdGljIGludCB3cml0ZV93b3JkKGZsYXNoX2luZm9fdCAqaW5mbywgdWxvbmcgZGVzdCwgdWxvbmcgZGF0YSkKK3sKKwl1bG9uZyBhZGRyID0gZGVzdDsKKwl1bG9uZyByZXN1bHQ7CisJaW50IHJjID0gRVJSX09LOworCWludCBpZmxhZzsKKwlpbnQgY2hpcDEsIGNoaXAyOworCQorCS8qCisJICogQ2hlY2sgaWYgRmxhc2ggaXMgKHN1ZmZpY2llbnRseSkgZXJhc2VkCisJICovCisJcmVzdWx0ID0gcmVhZGwoYWRkcik7CisJaWYgKChyZXN1bHQgJiBkYXRhKSAhPSBkYXRhKSB7CisJCXJldHVybiBFUlJfTk9UX0VSQVNFRDsKKwl9CisJCisJLyoKKwkgKiBEaXNhYmxlIGludGVycnVwdHMgd2hpY2ggbWlnaHQgY2F1c2UgYSB0aW1lb3V0CisJICogaGVyZS4gUmVtZW1iZXIgdGhhdCBvdXIgZXhjZXB0aW9uIHZlY3RvcnMgYXJlCisJICogYXQgYWRkcmVzcyAwIGluIHRoZSBmbGFzaCwgYW5kIHdlIGRvbid0IHdhbnQgYQorCSAqICh0aWNrZXIpIGV4Y2VwdGlvbiB0byBoYXBwZW4gd2hpbGUgdGhlIGZsYXNoCisJICogY2hpcCBpcyBpbiBwcm9ncmFtbWluZyBtb2RlLgorCSAqLworCWlmbGFnID0gZGlzYWJsZV9pbnRlcnJ1cHRzKCk7CisKKwl3cml0ZWwoQ01EX1VOTE9DSzEsIGFkZHIgKyAxKTsKKwl3cml0ZWwoQ01EX1VOTE9DSzIsIGFkZHIgKyAyKTsKKwl3cml0ZWwoQ01EX1VOTE9DS19CWVBBU1MsIGFkZHIgKyAxKTsKKwl3cml0ZWwoYWRkciwgQ01EX1BST0dSQU0pOworCXdyaXRlbChhZGRyLCBkYXRhKTsKKwkKKwkvKiBhcm0gc2ltcGxlLCBub24gaW50ZXJydXB0IGRlcGVuZGVudCB0aW1lciAqLworCXJlc2V0X3RpbWVyKCk7CisJCisJLyogd2FpdCB1bnRpbCBmbGFzaCBpcyByZWFkeSAqLworCWNoaXAxID0gY2hpcDIgPSAwOworCWRvIHsKKwkJcmVzdWx0ID0gcmVhZGwoYWRkcik7CisJCQorCQkvKiBjaGVjayB0aW1lb3V0ICovCisJCWlmIChnZXRfdGltZXIoMCkgPiBDRkdfRkxBU0hfRVJBU0VfVE9VVCkgeworCQkJY2hpcDEgPSBFUlIgfCBUTU87CisJCQlicmVhazsKKwkJfQorCQkKKwkJaWYgKCFjaGlwMSAmJiAoKHJlc3VsdCAmIDB4ODApID09IChkYXRhICYgMHg4MCkpKSB7CisJCQljaGlwMSA9IFJFQURZOworCQl9CisJCQorCQlpZiAoIWNoaXAxICYmICgocmVzdWx0ICYgMHhGRkZGKSAmIEJJVF9QUk9HUkFNX0VSUk9SKSkgeworCQkJcmVzdWx0ID0gcmVhZGwoYWRkcik7CisJCQkKKwkJCWlmICgocmVzdWx0ICYgMHg4MCkgPT0gKGRhdGEgJiAweDgwKSkgeworCQkJCWNoaXAxID0gUkVBRFk7CisJCQl9IGVsc2UgeworCQkJCWNoaXAxID0gRVJSOworCQkJfQorCQl9CisJCQorCQlpZiAoIWNoaXAyICYmICgocmVzdWx0ICYgKDB4ODAgPDwgMTYpKSA9PSAoZGF0YSAmICgweDgwIDw8IDE2KSkpKSB7CisJCQljaGlwMiA9IFJFQURZOworCQl9CisJCQorCQlpZiAoIWNoaXAyICYmICgocmVzdWx0ID4+IDE2KSAmIEJJVF9QUk9HUkFNX0VSUk9SKSkgeworCQkJcmVzdWx0ID0gcmVhZGwoYWRkcik7CisJCQkKKwkJCWlmICgocmVzdWx0ICYgKDB4ODAgPDwgMTYpKSA9PSAoZGF0YSAmICgweDgwIDw8IDE2KSkpIHsKKwkJCQljaGlwMiA9IFJFQURZOworCQkJfSBlbHNlIHsKKwkJCQljaGlwMiA9IEVSUjsKKwkJCX0KKwkJfQorCQkKKwl9ICB3aGlsZSAoIWNoaXAxIHx8ICFjaGlwMik7CisJCisJd3JpdGVsKENNRF9SRUFEX0FSUkFZLCBhZGRyKTsKKwkKKwlpZiAoY2hpcDEgPT0gRVJSIHx8IGNoaXAyID09IEVSUiB8fCByZWFkbChhZGRyKSAhPSBkYXRhKSB7CisJCXJjID0gRVJSX1BST0dfRVJST1I7CisJfQorCQorCWlmIChpZmxhZykgeworCQllbmFibGVfaW50ZXJydXB0cygpOworCX0KKwkKKwlyZXR1cm4gcmM7Cit9CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIENvcHkgbWVtb3J5IHRvIGZsYXNoLgorICovCisKK2ludCB3cml0ZV9idWZmKGZsYXNoX2luZm9fdCAqaW5mbywgdWNoYXIgKnNyYywgdWxvbmcgYWRkciwgdWxvbmcgY250KQoreworCXVsb25nIGNwLCB3cCwgZGF0YTsKKwlpbnQgbDsKKwlpbnQgaSwgcmM7CisJCisJd3AgPSAoYWRkciAmIH4zKTsJLyogZ2V0IGxvd2VyIHdvcmQgYWxpZ25lZCBhZGRyZXNzICovCisJCisJLyoKKwkgKiBoYW5kbGUgdW5hbGlnbmVkIHN0YXJ0IGJ5dGVzCisJICovCisJaWYgKChsID0gYWRkciAtIHdwKSAhPSAwKSB7CisJCWRhdGEgPSAwOworCQlmb3IgKGk9MCwgY3A9d3A7IGk8bDsgKytpLCArK2NwKSB7CisJCQlkYXRhID0gKGRhdGEgPj4gOCkgfCAoKih1Y2hhciAqKWNwIDw8IDI0KTsKKwkJfQorCQlmb3IgKDsgaTw0ICYmIGNudD4wOyArK2kpIHsKKwkJCWRhdGEgPSAoZGF0YSA+PiA4KSB8ICgqc3JjKysgPDwgMjQpOworCQkJLS1jbnQ7CisJCQkrK2NwOworCQl9CisJCWZvciAoOyBjbnQ9PTAgJiYgaTw0OyArK2ksICsrY3ApIHsKKwkJCWRhdGEgPSAoZGF0YSA+PiA4KSB8ICgqKHVjaGFyICopY3AgPDwgMjQpOworCQl9CisJCQorCQlpZiAoKHJjID0gd3JpdGVfd29yZChpbmZvLCB3cCwgZGF0YSkpICE9IDApIHsKKwkJCXJldHVybiByYzsKKwkJfQorCQl3cCArPSA0OworCX0KKwkKKwkvKgorCSAqIGhhbmRsZSB3b3JkIGFsaWduZWQgcGFydAorCSAqLworCXdoaWxlIChjbnQgPj0gNCkgeworCQlkYXRhID0gKigodnVfbG9uZyopc3JjKTsKKwkJaWYgKChyYyA9IHdyaXRlX3dvcmQoaW5mbywgd3AsIGRhdGEpKSAhPSAwKSB7CisJCQlyZXR1cm4gcmM7CisJCX0KKwkJc3JjICs9IDQ7CisJCXdwICArPSA0OworCQljbnQgLT0gNDsKKwl9CisJCisJaWYgKGNudCA9PSAwKSB7CisJCXJldHVybiBFUlJfT0s7CisJfQorCQorCS8qCisJICogaGFuZGxlIHVuYWxpZ25lZCB0YWlsIGJ5dGVzCisJICovCisJZGF0YSA9IDA7CisJZm9yIChpPTAsIGNwPXdwOyBpPDQgJiYgY250PjA7ICsraSwgKytjcCkgeworCQlkYXRhID0gKGRhdGEgPj4gOCkgfCAoKnNyYysrIDw8IDI0KTsKKwkJLS1jbnQ7CisJfQorCWZvciAoOyBpPDQ7ICsraSwgKytjcCkgeworCQlkYXRhID0gKGRhdGEgPj4gOCkgfCAoKih1Y2hhciAqKWNwIDw8IDI0KTsKKwl9CisJCisJcmV0dXJuIHdyaXRlX3dvcmQoaW5mbywgd3AsIGRhdGEpOworfQpkaWZmIC0tZ2l0IGEvYm9hcmQvc2M1MjBfY2RwL3NjNTIwX2NkcC5jIGIvYm9hcmQvc2M1MjBfY2RwL3NjNTIwX2NkcC5jCmluZGV4IDI4MDlmZjcuLjUwYTQ5ZTYgMTAwNjQ0Ci0tLSBhL2JvYXJkL3NjNTIwX2NkcC9zYzUyMF9jZHAuYworKysgYi9ib2FyZC9zYzUyMF9jZHAvc2M1MjBfY2RwLmMKQEAgLTEsNCArMSw1IEBACiAvKgorICogCiAgKiAoQykgQ29weXJpZ2h0IDIwMDIKICAqIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCIDxkYW5pZWxAb21pY3Jvbi5zZT4uCiAgKgpAQCAtMjQsMTA5ICsyNSwxNjIgQEAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxwY2kuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxhc20vcGNpLmg+CiAjaW5jbHVkZSA8YXNtL2ljL3NjNTIwLmg+CiAjaW5jbHVkZSA8YXNtL2ljL2FsaTUxMnguaD4KKyNpbmNsdWRlIDxzc2kuaD4KKworI3VuZGVmIFNDNTIwX0NEUF9ERUJVRworCisjaWZkZWYJU0M1MjBfQ0RQX0RFQlVHCisjZGVmaW5lCVBSSU5URihmbXQsYXJncy4uLikJcHJpbnRmIChmbXQgLCMjYXJncykKKyNlbHNlCisjZGVmaW5lIFBSSU5URihmbXQsYXJncy4uLikKKyNlbmRpZgogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKKwkKKy8qIAorICogVGhlb3J5OgorICogV2UgZmlyc3Qgc2V0IHVwIGFsbCBJUlFzIHRvIGJlIG5vbi1wY2ksIGVkZ2UgdHJpZ2dlcmVkLAorICogd2hlbiB3ZSBsYXRlciBlbnVtZXJhdGUgdGhlIHBjaSBidXMgYW5kIHBjaV9zYzUyMF9maXh1cF9pcnEoKSBnZXRzIAorICogY2FsbGVkIHdlIHJlYWxsb2NhdGUgaXJxcyB0byB0aGUgcGNpIGJ1cyB3aXRoIHNjNTIwX3BjaV9zZXRfaXJxKCkKKyAqIGFzIG5lZWRlZC4gV2hlIGNob29zZSB0aGUgaXJxcyB0byBncmFtIGZyb20gYSBjb25maWd1cmFibGUgbGlzdAorICogaW5zaWRlIHBjaV9zYzUyMF9maXh1cF9pcnEoKSAoSWYgdGhpcyBsaXN0IGNvbnRhaW5zIHN0dXBpZCBpcnEncworICogc3VjaCBhcyAwIHRobmdhcyB3aWxsIG5vdCB3b3JrKQorICovCisKIHN0YXRpYyB2b2lkIGlycV9pbml0KHZvaWQpCiB7Ci0JCiAJLyogZGlzYWJsZSBnbG9iYWwgaW50ZXJydXB0IG1vZGUgKi8KIAl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfUElDSUNSLCAweDQwKTsgCiAJCi0JLyogc2V0IGlycTAtNyB0byBlZGdlICovCisJLyogc2V0IGFsbCBpcnFzIHRvIGVkZ2UgKi8KIAl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfTVBJQ01PREUsIDB4MDApOwotCQotCS8qIHNldCBpcnE5LTEyIHRvIGxldmVsLCBhbGwgdGhlIG90aGVyICg4LCAxMy0xNSkgYXJlIGVkZ2UgKi8KLQl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfU0wxUElDTU9ERSwgMHgxZSk7Ci0JCi0JLyogc2V0IGlycTE2LTI0ICh1bnVzZWQgc2xhdmUgcGljMikgdG8gbGV2ZWwgKi8KLQl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfU0wyUElDTU9ERSwgMHhmZik7CisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX1NMMVBJQ01PREUsIDB4MDApOworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9TTDJQSUNNT0RFLCAweDAwKTsKIAkKIAkvKiBhY3RpdmUgbG93IHBvbGFyaXR5IG9uIFBJQyBpbnRlcnJ1cHQgcGlucywgCi0JICAgYWN0aXZlIGhpZ2ggcG9sYXJpdHkgb24gYWxsIG90aGVyIGlycSBwaW5zICovCi0Jd3JpdGVfbW1jcl93b3JkKFNDNTIwX0lOVFBJTlBPTCwgMCk7CisJICogIGFjdGl2ZSBoaWdoIHBvbGFyaXR5IG9uIGFsbCBvdGhlciBpcnEgcGlucyAqLworCXdyaXRlX21tY3Jfd29yZChTQzUyMF9JTlRQSU5QT0wsIDB4MDAwMCk7CiAKIAkvKiBzZXQgaXJxIG51bWJlciBtYXBwaW5nICovCi0Jd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQVE1SME1BUCwwKTsgICAgICAgICAgICAvKiBkaXNhYmxlIEdQIHRpbWVyIDAgSU5UICovICAgICAgIAotCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUFRNUjFNQVAsMCk7ICAgICAgICAgICAgLyogZGlzYWJsZSBHUCB0aW1lciAxIElOVCAqLwotCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUFRNUjJNQVAsMCk7ICAgICAgICAgICAgLyogZGlzYWJsZSBHUCB0aW1lciAyIElOVCAqLwotCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9QSVQwTUFQLDB4MSk7ICAgICAgICAgICAgLyogU2V0IFBJVCB0aW1lciAwIElOVCB0byBJUlEwICovIAotCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9QSVQxTUFQLDApOyAgICAgICAgICAgICAgLyogZGlhYmxlIFBJVCB0aW1lciAxIElOVCAqLwotCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9QSVQyTUFQLDApOyAgICAgICAgICAgICAgLyogZGlhYmxlIFBJVCB0aW1lciAyIElOVCAqLwotCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9QQ0lJTlRBTUFQLDB4NCk7ICAgICAgICAgLyogU2V0IFBDSSBJTlQgQSB0byBJUlE5ICovCi0Jd3JpdGVfbW1jcl9ieXRlKFNDNTIwX1BDSUlOVEJNQVAsMHg1KTsgICAgICAgICAvKiBTZXQgUENJIElOVCBCIHRvIElSUTEwICovCi0Jd3JpdGVfbW1jcl9ieXRlKFNDNTIwX1BDSUlOVENNQVAsMHg2KTsgICAgICAgICAvKiBTZXQgUENJIElOVCBDIHRvIElSUTExICovCi0Jd3JpdGVfbW1jcl9ieXRlKFNDNTIwX1BDSUlOVERNQVAsMHg3KTsgICAgICAgICAvKiBTZXQgUENJIElOVCBEIHRvIElSUTEyICovCi0Jd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0RNQUJDSU5UTUFQLDApOyAgICAgICAgICAvKiBkaXNhYmxlIERNQSBJTlQgKi8gCi0Jd3JpdGVfbW1jcl9ieXRlKFNDNTIwX1NTSU1BUCwwKTsgICAgICAgICAgICAgICAvKiBkaXNhYmxlIFN5bmNocm9uaXVzIHNlcmlhbCBJTlQgKi8KLQl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfV0RUTUFQLDApOyAgICAgICAgICAgICAgIC8qIGRpc2FibGUgV2F0Y2hkb3IgSU5UICovCi0Jd3JpdGVfbW1jcl9ieXRlKFNDNTIwX1JUQ01BUCwweDMpOyAgICAgICAgICAgICAvKiBTZXQgUlRDIGludCB0byA4ICovCi0Jd3JpdGVfbW1jcl9ieXRlKFNDNTIwX1dQVk1BUCwwKTsgICAgICAgICAgICAgICAvKiBkaXNhYmxlIHdyaXRlIHByb3RlY3QgSU5UICovCi0Jd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0lDRU1BUCwweDIpOyAgICAgICAgICAgICAvKiBTZXQgSUNFIERlYnVnIFNlcmllbHBvcnQgSU5UIHRvIElSUTEgKi8KLQl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfRkVSUk1BUCwweDgpOyAgICAgICAgICAgIC8qIFNldCBGUCBlcnJvciBJTlQgdG8gSVJRMTMgKi8KLQl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfR1AwSU1BUCw2KTsgICAgICAgICAgICAgIC8qIFNldCBHUElSUTAgKElTQSBJUlEyKSB0byBJUlE5ICovCi0Jd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQMUlNQVAsMik7ICAgICAgICAgICAgICAvKiBTZXQgR1BJUlExIChTSU8gSVJRMSkgdG8gSVJRMSAqLwotCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUDJJTUFQLDcpOyAgICAgICAgICAgICAgLyogU2V0IEdQSVJRMiAoSVNBIElSUTEyKSB0byBJUlExMiAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUFRNUjBNQVAsIFNDNTIwX0lSUV9ESVNBQkxFRCk7ICAgLyogZGlzYWJsZSBHUCB0aW1lciAwIElOVCAqLyAgICAgICAKKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfR1BUTVIxTUFQLCBTQzUyMF9JUlFfRElTQUJMRUQpOyAgIC8qIGRpc2FibGUgR1AgdGltZXIgMSBJTlQgKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfR1BUTVIyTUFQLCBTQzUyMF9JUlFfRElTQUJMRUQpOyAgIC8qIGRpc2FibGUgR1AgdGltZXIgMiBJTlQgKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfUElUME1BUCwgU0M1MjBfSVJRMCk7ICAgICAgICAgICAgIC8qIFNldCBQSVQgdGltZXIgMCBJTlQgdG8gSVJRMCAqLyAKKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfUElUMU1BUCwgU0M1MjBfSVJRX0RJU0FCTEVEKTsgICAgIC8qIGRpc2FibGUgUElUIHRpbWVyIDEgSU5UICovCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX1BJVDJNQVAsIFNDNTIwX0lSUV9ESVNBQkxFRCk7ICAgICAvKiBkaXNhYmxlIFBJVCB0aW1lciAyIElOVCAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9QQ0lJTlRBTUFQLCBTQzUyMF9JUlFfRElTQUJMRUQpOyAgLyogZGlzYWJsZSBQQ0kgSU5UIEEgKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfUENJSU5UQk1BUCwgU0M1MjBfSVJRX0RJU0FCTEVEKTsgIC8qIGRpc2FibGUgUENJIElOVCBCICovCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX1BDSUlOVENNQVAsIFNDNTIwX0lSUV9ESVNBQkxFRCk7ICAvKiBkaXNhYmxlIFBDSSBJTlQgQyAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9QQ0lJTlRETUFQLCBTQzUyMF9JUlFfRElTQUJMRUQpOyAgLyogZGlzYWJsZSBQQ0kgSU5UIEQgKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfRE1BQkNJTlRNQVAsIFNDNTIwX0lSUV9ESVNBQkxFRCk7IC8qIGRpc2FibGUgRE1BIElOVCAqLyAKKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfU1NJTUFQLCBTQzUyMF9JUlFfRElTQUJMRUQpOyAgICAgIC8qIGRpc2FibGUgU3luY2hyb25pdXMgc2VyaWFsIElOVCAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9XRFRNQVAsIFNDNTIwX0lSUV9ESVNBQkxFRCk7ICAgICAgLyogZGlzYWJsZSBXYXRjaGRvZyBJTlQgKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfUlRDTUFQLCBTQzUyMF9JUlE4KTsgICAgICAgICAgICAgIC8qIFNldCBSVEMgaW50IHRvIDggKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfV1BWTUFQLCBTQzUyMF9JUlFfRElTQUJMRUQpOyAgICAgIC8qIGRpc2FibGUgd3JpdGUgcHJvdGVjdCBJTlQgKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfSUNFTUFQLCBTQzUyMF9JUlExKTsgICAgICAgICAgICAgIC8qIFNldCBJQ0UgRGVidWcgU2VyaWVscG9ydCBJTlQgdG8gSVJRMSAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9GRVJSTUFQLFNDNTIwX0lSUTEzKTsgICAgICAgICAgICAgLyogU2V0IEZQIGVycm9yIElOVCB0byBJUlExMyAqLwogCQogCWlmIChDRkdfVVNFX1NJT19VQVJUKSB7Ci0JCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9VQVJUMU1BUCwwKTsgICAgIC8qIGRpc2FibGUgaW50ZXJuYWwgVUFSVDEgSU5UICovCi0JCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9VQVJUMk1BUCwwKTsgICAgIC8qIGRpc2FibGUgaW50ZXJuYWwgVUFSVDIgSU5UICovCi0JCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUDNJTUFQLDExKTsgICAgIC8qIFNldCBHUElSUTMgKElTQSBJUlEzKSB0byBJUlEzICovIAotCQl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfR1A0SU1BUCwxMik7ICAgICAvKiBTZXQgR1BJUlE0IChJU0EgSVJRNCkgdG8gSVJRNCAqLworCQl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfVUFSVDFNQVAsIFNDNTIwX0lSUV9ESVNBQkxFRCk7IC8qIGRpc2FibGUgaW50ZXJuYWwgVUFSVDEgSU5UICovCisJCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9VQVJUMk1BUCwgU0M1MjBfSVJRX0RJU0FCTEVEKTsgLyogZGlzYWJsZSBpbnRlcm5hbCBVQVJUMiBJTlQgKi8KKwkJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQM0lNQVAsIFNDNTIwX0lSUTMpOyAgICAgICAgICAvKiBTZXQgR1BJUlEzIChJU0EgSVJRMykgdG8gSVJRMyAqLyAKKwkJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQNElNQVAsIFNDNTIwX0lSUTQpOyAgICAgICAgICAvKiBTZXQgR1BJUlE0IChJU0EgSVJRNCkgdG8gSVJRNCAqLwogCX0gZWxzZSB7Ci0JCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9VQVJUMU1BUCwxMik7ICAgIC8qIFNldCBpbnRlcm5hbCBVQVJUMiBJTlQgdG8gSVJRNCAqLwotCQl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfVUFSVDJNQVAsMTEpOyAgICAvKiBTZXQgaW50ZXJuYWwgVUFSVDIgSU5UIHRvIElSUTMgKi8KLQkJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQM0lNQVAsMCk7ICAgICAgLyogZGlzYWJsZSBHUElSUTMgKElTQSBJUlEzKSAqLyAKLQkJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQNElNQVAsMCk7ICAgICAgLyogZGlzYWJsZSBHUElSUTQgKElTQSBJUlE0KSAqLworCQl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfVUFSVDFNQVAsIFNDNTIwX0lSUTQpOyAgICAgICAgIC8qIFNldCBpbnRlcm5hbCBVQVJUMiBJTlQgdG8gSVJRNCAqLworCQl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfVUFSVDJNQVAsIFNDNTIwX0lSUTMpOyAgICAgICAgIC8qIFNldCBpbnRlcm5hbCBVQVJUMiBJTlQgdG8gSVJRMyAqLworCQl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfR1AzSU1BUCwgU0M1MjBfSVJRX0RJU0FCTEVEKTsgIC8qIGRpc2FibGUgR1BJUlEzIChJU0EgSVJRMykgKi8gCisJCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUDRJTUFQLCBTQzUyMF9JUlFfRElTQUJMRUQpOyAgLyogZGlzYWJsZSBHUElSUTQgKElTQSBJUlE0KSAqLwogCX0KIAkKLQl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfR1A1SU1BUCwxMyk7ICAgICAgICAgICAgIC8qIFNldCBHUElSUTUgKElTQSBJUlE1KSB0byBJUlE1ICovCi0Jd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQNklNQVAsMjEpOyAgICAgICAgICAgICAvKiBTZXQgR1BJUlE2IChJU0EgSVJRNikgdG8gSVJRNiAqLwotCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUDdJTUFQLDIyKTsgICAgICAgICAgICAgLyogU2V0IEdQSVJRNyAoSVNBIElSUTcpIHRvIElSUTcgKi8KLQl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfR1A4SU1BUCwzKTsgICAgICAgICAgICAgIC8qIFNldCBHUElSUTggKFNJTyBJUlE4KSB0byBJUlE4ICovCi0Jd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQOUlNQVAsNCk7ICAgICAgICAgICAgICAvKiBTZXQgR1BJUlE5IChJU0EgSVJROSkgdG8gSVJROSAqLwotCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUDEwSU1BUCw5KTsgICAgICAgICAgICAgLyogU2V0IEdQSVJRMTAgKElTQSBJUlExMCkgdG8gSVJRMTAgKi8gICAgICAgICAgCi0Jd3JpdGVfbW1jcl93b3JkKFNDNTIwX1BDSUhPU1RNQVAsMHgxMWYpOyAgICAgICAvKiBNYXAgUENJIGhvc3RicmlkZ2UgSU5UIHRvIE5NSSAqLwotCXdyaXRlX21tY3Jfd29yZChTQzUyMF9FQ0NNQVAsMHgxMDApOyAgICAgICAgICAgLyogTWFwIFNEUkFNIEVDQyBmYWlsdXJlIElOVCB0byBOTUkgKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfR1AxSU1BUCwgU0M1MjBfSVJRMSk7ICAgICAgICAgICAgIC8qIFNldCBHUElSUTEgKFNJTyBJUlExKSB0byBJUlExICovCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQNUlNQVAsIFNDNTIwX0lSUTUpOyAgICAgICAgICAgICAvKiBTZXQgR1BJUlE1IChJU0EgSVJRNSkgdG8gSVJRNSAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUDZJTUFQLCBTQzUyMF9JUlE2KTsgICAgICAgICAgICAgLyogU2V0IEdQSVJRNiAoSVNBIElSUTYpIHRvIElSUTYgKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfR1A3SU1BUCwgU0M1MjBfSVJRNyk7ICAgICAgICAgICAgIC8qIFNldCBHUElSUTcgKElTQSBJUlE3KSB0byBJUlE3ICovCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQOElNQVAsIFNDNTIwX0lSUTgpOyAgICAgICAgICAgICAvKiBTZXQgR1BJUlE4IChTSU8gSVJROCkgdG8gSVJROCAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUDlJTUFQLCBTQzUyMF9JUlE5KTsgICAgICAgICAgICAgLyogU2V0IEdQSVJROSAoSVNBIElSUTIpIHRvIElSUTkgKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfR1AwSU1BUCwgU0M1MjBfSVJRMTEpOyAgICAgICAgICAgIC8qIFNldCBHUElSUTAgKElTQSBJUlExMSkgdG8gSVJRMTAgKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfR1AySU1BUCwgU0M1MjBfSVJRMTIpOyAgICAgICAgICAgIC8qIFNldCBHUElSUTIgKElTQSBJUlExMikgdG8gSVJRMTIgKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfR1AxMElNQVAsU0M1MjBfSVJRMTQpOyAgICAgICAgICAgIC8qIFNldCBHUElSUTEwIChJU0EgSVJRMTQpIHRvIElSUTE0ICovICAgICAgICAgIAorCQorCXdyaXRlX21tY3Jfd29yZChTQzUyMF9QQ0lIT1NUTUFQLCAweDExZik7ICAgICAgICAgICAgICAgIC8qIE1hcCBQQ0kgaG9zdGJyaWRnZSBJTlQgdG8gTk1JICovCisJd3JpdGVfbW1jcl93b3JkKFNDNTIwX0VDQ01BUCwgMHgxMDApOyAgICAgICAgICAgICAgICAgICAgLyogTWFwIFNEUkFNIEVDQyBmYWlsdXJlIElOVCB0byBOTUkgKi8KICAKIH0KIAorCQogLyogUENJIHN0dWZmICovCiBzdGF0aWMgdm9pZCBwY2lfc2M1MjBfY2RwX2ZpeHVwX2lycShzdHJ1Y3QgcGNpX2NvbnRyb2xsZXIgKmhvc2UsIHBjaV9kZXZfdCBkZXYpCiB7Ci0JY2hhciBwaW47Ci0JaW50IGlycTsKKwkvKiBhIGNvbmZpZ3VyYWJsZSBsaXN0cyBvZiBpcnFzIHRvIHN0ZWFsCisJICogd2hlbiB3ZSBuZWVkIG9uZSAoYSBib2FyZCB3aXRoIG1vcmUgcGNpIGludGVycnVwdCBwaW5zCisJICogd291bGQgdXNlIGEgbGFyZ2VyIHRhYmxlICovCisJc3RhdGljIGludCBpcnFfbGlzdFtdID0geworCQlDRkdfRklSU1RfUENJX0lSUSwKKwkJQ0ZHX1NFQ09ORF9QQ0lfSVJRLAorCQlDRkdfVEhJUkRfUENJX0lSUSwKKwkJQ0ZHX0ZPUlRIX1BDSV9JUlEKKwl9OworCXN0YXRpYyBpbnQgbmV4dF9pcnFfaW5kZXg9MDsKKwkKKwljaGFyIHRtcF9waW47CQorCWludCBwaW47CisJCisJcGNpX2hvc2VfcmVhZF9jb25maWdfYnl0ZShob3NlLCBkZXYsIFBDSV9JTlRFUlJVUFRfUElOLCAmdG1wX3Bpbik7CisJcGluID0gdG1wX3BpbjsKKwkKKwlwaW4tPTE7IC8qIHBjaSBjb25maWcgc3BhY2UgdXNlIDEtYmFzZWQgbnVtYmVyaW5nICovCisJaWYgKC0xID09IHBpbikgeworCQlyZXR1cm47IC8qIGRldmljZSB1c2Ugbm8gaXJxICovCisJfQogCQogCQotCXBjaV9ob3NlX3JlYWRfY29uZmlnX2J5dGUoaG9zZSwgZGV2LCBQQ0lfSU5URVJSVVBUX1BJTiwgJnBpbik7Ci0JaXJxID0gcGluLTE7Ci0JCisgICAgICAgCisJLyogbWFwIGRldmljZSBudW1iZXIgKyAgcGluIHRvIGEgcGluIG9uIHRoZSBzYzUyMCAqLwogCXN3aXRjaCAoUENJX0RFVihkZXYpKSB7CiAJY2FzZSAyMDoKKwkJcGluKz1TQzUyMF9QQ0lfSU5UQTsKIAkJYnJlYWs7CisJCQogCWNhc2UgMTk6Ci0JCWlycSs9MTsKKwkJcGluKz1TQzUyMF9QQ0lfSU5UQjsKIAkJYnJlYWs7CisJCQogCWNhc2UgMTg6Ci0JCWlycSs9MjsKKwkJcGluKz1TQzUyMF9QQ0lfSU5UQzsKIAkJYnJlYWs7CisJCQogCWNhc2UgMTc6Ci0JCWlycSs9MzsKKwkJcGluKz1TQzUyMF9QQ0lfSU5URDsKIAkJYnJlYWs7CisJCQogCWRlZmF1bHQ6IAogCQlyZXR1cm47CiAJfQogCQotCWlycSY9MzsgLyogd3JhcCBhcm91bmQgKi8KLQlpcnErPTk7IC8qIGxvd2VzdCBJUlEgaXMgOSAqLworCXBpbiY9MzsgLyogd3JhcCBhcm91bmQgKi8KIAkKLQlwY2lfaG9zZV93cml0ZV9jb25maWdfYnl0ZShob3NlLCBkZXYsIFBDSV9JTlRFUlJVUFRfTElORSwgaXJxKTsKLSNpZiAwCQotCXByaW50ZigiZml4dXBfaXJxOiBkZXZpY2UgJWQgcGluICVjIGlycSAlZFxuIiwgCi0JICAgICAgIFBDSV9ERVYoZGV2KSwgJ0EnICsgcGluIC0xLCBpcnEpOwotI2VuZGlmCisJaWYgKHNjNTIwX3BjaV9pbnRzW3Bpbl0gPT0gLTEpIHsKKwkJLyogcmUtcm91dGUgb25lIGludGVycnVwdCBmb3IgdXMgKi8JCQorCQlpZiAobmV4dF9pcnFfaW5kZXggPiAzKSB7CisJCQlyZXR1cm47CisJCX0KKwkJaWYgKHBjaV9zYzUyMF9zZXRfaXJxKHBpbiwgaXJxX2xpc3RbbmV4dF9pcnFfaW5kZXhdKSkgeyAKKwkJCXJldHVybjsKKwkJfQorCQluZXh0X2lycV9pbmRleCsrOworCX0KKworCQorCWlmICgtMSAhPSBzYzUyMF9wY2lfaW50c1twaW5dKSB7CisJCXBjaV9ob3NlX3dyaXRlX2NvbmZpZ19ieXRlKGhvc2UsIGRldiwgUENJX0lOVEVSUlVQVF9MSU5FLCAKKwkJCQkJICAgc2M1MjBfcGNpX2ludHNbcGluXSk7CisJfQorCVBSSU5URigiZml4dXBfaXJxOiBkZXZpY2UgJWQgcGluICVjIGlycSAlZFxuIiwgCisJICAgICAgIFBDSV9ERVYoZGV2KSwgJ0EnICsgcGluLCBzYzUyMF9wY2lfaW50c1twaW5dKTsKIH0KICAKIHN0YXRpYyBzdHJ1Y3QgcGNpX2NvbnRyb2xsZXIgc2M1MjBfY2RwX2hvc2UgPSB7CkBAIC0xNjIsOCArMjE2LDggQEAKIAkKIAkvKiBTU0kgY2hpcCBzZWxlY3QgcGlucyAqLwogCWFsaTUxMnhfY2lvX2Z1bmN0aW9uKDE0LCAwLCAwLCAwKTsgIC8qIFNTSV9DUyAqLwotCWFsaTUxMnhfY2lvX2Z1bmN0aW9uKDE1LCAwLCAwLCAwKTsgIC8qIFNTSV9NViAqLwkJCQkJICAgICAKLQlhbGk1MTJ4X2Npb19mdW5jdGlvbigxNiwgMCwgMSwgMCk7ICAvKiBTU0lfU1BJIyAoaW52ZXJ0ZWQpICovCisJYWxpNTEyeF9jaW9fZnVuY3Rpb24oMTUsIDAsIDAsIDApOyAgLyogU1NJX01WICovIAorCWFsaTUxMnhfY2lvX2Z1bmN0aW9uKDE2LCAwLCAwLCAwKTsgIC8qIFNTSV9TUEkjICovCiAKIAkvKiBCb2FyZCBSRVYgcGlucyAqLwogCWFsaTUxMnhfY2lvX2Z1bmN0aW9uKDIwLCAwLCAwLCAxKTsKQEAgLTIwMiw2ICsyNTYsNyBAQAogCSAqIHdlIG5lZWQgdG8gbWFwIDFHLTEyOGsgLSAxRyAoMHgzODAwMDAwMCAtIDB4M2ZmZmZmZmYpIHRvIENTMSAqLyAKIAkKIAkJCisJCiAJLyogU1JBTSA9IEdQQ1MzIDEyOGsgQCBkMDAwMC1lZmZmZiovCiAJd3JpdGVfbW1jcl9sb25nKFNDNTIwX1BBUjIsICAweDRlMDA0MDBkKTsJCQogCQpAQCAtMjE5LDEzICsyNzQsMTUgQEAKIAkvKiA2ODAgTEVEUyAqLwogCXdyaXRlX21tY3JfbG9uZyhTQzUyMF9QQVIxNSwgMHgzMDAwMDY0MCk7CQkKIAkKKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfQUREREVDQ1RMLCAwKTsKKwkKIAlhc20gKCJ3YmludmRcbiIpOyAvKiBGbHVzaCBjYWNoZSwgcmVxLiBhZnRlciBzZXR0aW5nIHRoZSB1bmNoYWNoZWQgYXR0cmlidXRlIG9uYSBQQVIgKi8JCiAKIAlpZiAoQ0ZHX1VTRV9TSU9fVUFSVCkgewogCQl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfQUREREVDQ1RMLCByZWFkX21tY3JfYnl0ZShTQzUyMF9BRERERUNDVEwpIHwgVUFSVDJfRElTfFVBUlQxX0RJUyk7CQogCQlzZXR1cF9hbGlfc2lvKDEpOwogCX0gZWxzZSB7Ci0JCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9BRERERUNDVEwsIHJlYWRfbW1jcl9ieXRlKFNDNTIwX0FERERFQ0NUTCkgJiB+KFVBUlQyX0RJU3xVQVJUMV9ESVMpKTsJCisJCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9BRERERUNDVEwsIHJlYWRfbW1jcl9ieXRlKFNDNTIwX0FERERFQ0NUTCkgJiB+KFVBUlQyX0RJU3xVQVJUMV9ESVMpKTsKIAkJc2V0dXBfYWxpX3NpbygwKTsKIAkJc2lsZW5jZV91YXJ0KDB4M2U4KTsKIAkJc2lsZW5jZV91YXJ0KDB4MmU4KTsKQEAgLTIzMyw4ICsyOTAsMTkzIEBACiAKIH0KIAorLyogR1BDUyB1c2FnZQorICogR1BDUzAgICAgICAgUElPMjcgKE5NSSkKKyAqIEdQQ1MxICAgICAgIFJPTUNTMQorICogR1BDUzIgICAgICAgUk9NQ1MyCisgKiBHUENTMyAgICAgICBTUkFNQ1MgICAgICAgUEFSMgorICogR1BDUzQgICAgICAgdW51c2VkICAgICAgIFBBUjMKKyAqIEdQQ1M1ICAgICAgIHVudXNlZCAgICAgICBQQVI0CisgKiBHUENTNiAgICAgICBJREUKKyAqIEdQQ1M3ICAgICAgIElERQorICovCiAKIAorLyogcGFyIHVzYWdlOgorICogUEFSMCAgIGxlZ2FjeV92aWRlbworICogUEFSMSAgIFBDSSBST00gbWFwcGluZworICogUEFSMiAgIFNSQU0KKyAqIFBBUjMgICBJREUKKyAqIFBBUjQgICBJREUKKyAqIFBBUjUgICBsZWdhY3lfdmlkZW8KKyAqIFBBUjYgICBsZWdhY3lfdmlkZW8KKyAqIFBBUjcgICBsZWdhY3lfdmlkZW8KKyAqIFBBUjggICBsZWdhY3lfdmlkZW8KKyAqIFBBUjkgICBsZWdhY3lfdmlkZW8KKyAqIFBBUjEwICBsZWdhY3lfdmlkZW8KKyAqIFBBUjExICBJU0FST00KKyAqIFBBUjEyICBCT09UQ1MKKyAqIFBBUjEzICBST01DUzEKKyAqIFBBUjE0ICBST01DUzIKKyAqIFBBUjE1ICBQb3J0IDB4NjgwIExFRCBkaXNwbGF5CisgKi8KKworLyogCisgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBtYXAgYSBjaHVuayBvZiBzaXplIGJ5dGVzCisgKiBvZiB0aGUgc3lzdGVtIGFkZHJlc3Mgc3BhY2UgdG8gdGhlIElTQSBidXMKKyAqIAorICogVGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIHRoZSBtZW1vcnkgYWRkcmVzcworICogYXMgc2VlbiBieSB0aGUgaG9zdCAod2hpY2ggbWF5IHZlcnkgd2lsbCBiZSB0aGUKKyAqIHNhbWUgYXMgdGhlIGJ1cyBhZGRyZXNzKQorICovCit1MzIgaXNhX21hcF9yb20odTMyIGJ1c19hZGRyLCBpbnQgc2l6ZSkgCit7CisJdTMyIHBhcjsKKwkKKwlQUklOVEYoImlzYV9tYXBfcm9tIGFza2VkIHRvIG1hcCAlZCBieXRlcyBhdCAleFxuIiwgCisJICAgICAgIHNpemUsIGJ1c19hZGRyKTsKKwkKKwlwYXIgPSBzaXplOworCWlmIChwYXIgPCAweDgwMDAwKSB7CisJCXBhciA9IDB4ODAwMDA7CisJfQorCXBhciA+Pj0gMTI7CisJcGFyLS07CisJcGFyJj0weDdmOworCXBhciA8PD0gMTg7CisJcGFyIHw9IChidXNfYWRkcj4+MTIpOworCXBhciB8PSAweDUwMDAwMDAwOworCQorCVBSSU5URiAoInNldHRpbmcgUEFSMTEgdG8gJXhcbiIsIHBhcik7CisJCisJLyogTWFwIHJvbSAweDEwMDAwIHdpdGggUEFSMSAqLworCXdyaXRlX21tY3JfbG9uZyhTQzUyMF9QQVIxMSwgIHBhcik7CisJCisJcmV0dXJuIGJ1c19hZGRyOworfQorCisvKgorICogdGhpcyBmdW5jdGlvbiByZW1vdmVkIGFueSBtYXBwaW5nIGNyZWF0ZWQKKyAqIHdpdGggcGNpX2dldF9yb21fd2luZG93KCkKKyAqLwordm9pZCBpc2FfdW5tYXBfcm9tKHUzMiBhZGRyKQoreworCVBSSU5URigiaXNhX3VubWFwX3JvbSBhc2tlZCB0byB1bm1hcCAleCIsIGFkZHIpOworCWlmICgoYWRkcj4+MTIpID09IChyZWFkX21tY3JfbG9uZyhTQzUyMF9QQVIxMSkmMHgzZmZmZikpIHsKKwkJd3JpdGVfbW1jcl9sb25nKFNDNTIwX1BBUjExLCAwKTsKKwkJUFJJTlRGKCIgZG9uZVxuIik7CisJCXJldHVybjsKKwl9CisJUFJJTlRGKCIgbm90IG91cnNcbiIpOworfQorCisjaWZkZWYgQ09ORklHX1BDSQorI2RlZmluZSBQQ0lfUk9NX1RFTVBfU1BBQ0UgMHgxMDAwMAorLyogCisgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBtYXAgYSBjaHVuayBvZiBzaXplIGJ5dGVzCisgKiBvZiB0aGUgc3lzdGVtIGFkZHJlc3Mgc3BhY2UgdG8gdGhlIFBDSSBidXMsCisgKiBzdWl0YWJsZSB0byBtYXAgUENJIFJPTVMgKGJ1cyBhZGRyZXNzIDwgMTZNKQorICogdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIHRoZSBob3N0IG1lbW9yeSBhZGRyZXNzCisgKiB3aGljaCBzaG91bGQgYmUgY29udmVydGVkIGludG8gYSBidXMgYWRkcmVzcworICogYmVmb3JlIHVzZWQgdG8gY29uZmlndXJlIHRoZSBQQ0kgcm9tIGFkZHJlc3MgCisgKiBkZWNvZGVyCisgKi8KK3UzMiBwY2lfZ2V0X3JvbV93aW5kb3coc3RydWN0IHBjaV9jb250cm9sbGVyICpob3NlLCBpbnQgc2l6ZSkgCit7CisJdTMyIHBhcjsKKwkKKwlwYXIgPSBzaXplOworCWlmIChwYXIgPCAweDgwMDAwKSB7CisJCXBhciA9IDB4ODAwMDA7CisJfQorCXBhciA+Pj0gMTY7CisJcGFyLS07CisJcGFyJj0weDdmZjsKKwlwYXIgPDw9IDE0OworCXBhciB8PSAoUENJX1JPTV9URU1QX1NQQUNFPj4xNik7CisJcGFyIHw9IDB4NzIwMDAwMDA7CisJCisJUFJJTlRGICgic2V0dGluZyBQQVIxIHRvICV4XG4iLCBwYXIpOworCQorCS8qIE1hcCByb20gMHgxMDAwMCB3aXRoIFBBUjEgKi8KKwl3cml0ZV9tbWNyX2xvbmcoU0M1MjBfUEFSMSwgIHBhcik7CisJCisJcmV0dXJuIFBDSV9ST01fVEVNUF9TUEFDRTsKK30KKworLyoKKyAqIHRoaXMgZnVuY3Rpb24gcmVtb3ZlZCBhbnkgbWFwcGluZyBjcmVhdGVkCisgKiB3aXRoIHBjaV9nZXRfcm9tX3dpbmRvdygpCisgKi8KK3ZvaWQgcGNpX3JlbW92ZV9yb21fd2luZG93KHN0cnVjdCBwY2lfY29udHJvbGxlciAqaG9zZSwgdTMyIGFkZHIpCit7CisJUFJJTlRGKCJwY2lfcmVtb3ZlX3JvbV93aW5kb3c6ICV4IiwgYWRkcik7CisJaWYgKGFkZHIgPT0gUENJX1JPTV9URU1QX1NQQUNFKSB7CisJCXdyaXRlX21tY3JfbG9uZyhTQzUyMF9QQVIxLCAwKTsKKwkJUFJJTlRGKCIgZG9uZVxuIik7CisJCXJldHVybjsKKwl9CisJUFJJTlRGKCIgbm90IG91cnNcbiIpOworCQorfQorCisvKgorICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgaW4gb3JkZXIgdG8gcHJvdmlkZSBhY2NlcyB0byB0aGUKKyAqIGxlZ2FjeSB2aWRlbyBJL08gcG9ydHMgb24gdGhlIFBDSSBidXMuIAorICogQWZ0ZXIgdGhpcyBmdW5jdGlvbiBhY2Nlc3NlcyB0byBJL08gcG9ydHMgMHgzYjAtMHgzYmIgYW5kIAorICogMHgzYzAtMHgzZGYgc2h1bGQgcmVzdWx0IGluIHRyYW5zYWN0aW9ucyBvbiB0aGUgUENJIGJ1cy4KKyAqIAorICovCitpbnQgcGNpX2VuYWJsZV9sZWdhY3lfdmlkZW9fcG9ydHMoc3RydWN0IHBjaV9jb250cm9sbGVyICpob3NlKQoreworCS8qIE1hcCB2aWRlbyBtZW1vcnkgdG8gMHhhMDAwMCovCisJd3JpdGVfbW1jcl9sb25nKFNDNTIwX1BBUjAsICAweDcyMDA0MDBhKTsKKwkKKwkvKiBmb3J3YXJkIGFsbCBJL08gYWNjZXNzZXMgdG8gUENJICovCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0FERERFQ0NUTCwgCisJCQlyZWFkX21tY3JfYnl0ZShTQzUyMF9BRERERUNDVEwpIHwgSU9fSE9MRV9ERVNUX1BDSSk7CQorCQorCQorCS8qIHNvIHdlIG1hcCBhd2F5IGFsbCBpbyBwb3J0cyB0byBwY2kgKG9ubHkgd2F5IHRvIGFjY2VzcyBwY2kgaW8KKwkgKiBiZWxvdyAweDQwMC4gQnV0IHRoZW4gd2UgaGF2ZSB0byBtYXAgYmFjayB0aGUgcG9ydGlvbnMgdGhhdCB3ZSBkb250CisJICogdXNlIHNvIHRoYXQgdGhlIGdlbmVyYXRlIGN5Y2xlcyBvbiB0aGUgR1BJTyBidXMgd2hlcmUgdGhlIHNpbyBhbmQKKwkgKiBJU0Egc2xvdHMgYXJlIGNvbm5lY3RlZCwgdGhpcyByZXF1cmUgdGhlIHVzZSBvZiBzZXZlcmFsIFBBUiByZWdpc3RlcnMgCisJICovCisJCisJLyogYnJpbmcgMHgxMDAgLSAweDFlZiBiYWNrIHRvIElTQSB1c2luZyBQQVI1ICovCisJd3JpdGVfbW1jcl9sb25nKFNDNTIwX1BBUjUsIDB4MzBlZjAxMDApOwkJCisJCisJLyogSURFIHVzZSAxZjAtMWY3ICovCisJCisJLyogYnJpbmcgMHgxZjggLSAweDJmNyBiYWNrIHRvIElTQSB1c2luZyBQQVI2ICovCisJd3JpdGVfbW1jcl9sb25nKFNDNTIwX1BBUjYsIDB4MzBmZjAxZjgpOwkJCisJCisJLyogY29tMiB1c2UgMmY4LTJmZiAqLworCQorCS8qIGJyaW5nIDB4MzAwIC0gMHgzYWYgYmFjayB0byBJU0EgdXNpbmcgUEFSNyAqLworCXdyaXRlX21tY3JfbG9uZyhTQzUyMF9QQVI3LCAweDMwYWYwMzAwKTsJCQorCQorCS8qIHZnYSB1c2UgM2IwLTNiYiAqLworCQorCS8qIGJyaW5nIDB4M2JjIC0gMHgzYmYgYmFjayB0byBJU0EgdXNpbmcgUEFSOCAqLworCXdyaXRlX21tY3JfbG9uZyhTQzUyMF9QQVI4LCAweDMwMDMwM2JjKTsJCQorCQorCS8qIHZnYSB1c2UgM2MwLTNkZiAqLworCQorCS8qIGJyaW5nIDB4M2UwIC0gMHgzZjUgYmFjayB0byBJU0EgdXNpbmcgUEFSOSAqLworCXdyaXRlX21tY3JfbG9uZyhTQzUyMF9QQVI5LCAweDMwMTUwM2UwKTsJCQorCQorCS8qIGlkZSB1c2UgM2Y2ICovCisJCisJLyogYnJpbmcgMHgzZjcgIGJhY2sgdG8gSVNBIHVzaW5nIFBBUjEwICovCisJd3JpdGVfbW1jcl9sb25nKFNDNTIwX1BBUjEwLCAweDMwMDAwM2Y3KTsJCQorCQorCS8qIGNvbTEgdXNlIDNmOC0zZmYgKi8JCQorCisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKwogLyoKICAqIE1pc2NlbGFuZW91cyBwbGF0Zm9ybSBkZXBlbmRlbnQgaW5pdGlhbGlzYXRpb25zCiAgKi8KQEAgLTI1Miw3ICs0OTQsNiBAQAogCQkKIAkvKiBlbnRlciBkZWJ1ZyBtb2RlIGFmdGVyIG5leHQgcmVzZXQgKG9ubHkgaWYganVtcGVyIGlzIGFsc28gc2V0KSAqLwogCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9SRVNDRkcsIDB4MDgpOwotCQogCS8qIGNvbmZpZ3VyZSB0aGUgc29mdHdhcmUgdGltZXIgdG8gMzMuMzMzTUh6ICovCiAJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX1NXVE1SQ0ZHLCAwKTsKIAlnZC0+YnVzX2NsayA9IDMzMzMzMDAwOwpAQCAtMjg4LDMgKzUyOSw4NyBAQAogCQogCXJldHVybiAwOwogfQorCisKKwordm9pZCBzc2lfY2hpcF9zZWxlY3QoaW50IGRldikgCit7CisJCisJLyogU3B1bmsgYm9hcmQ6IFNQSSBFRVBST00gaXMgYWN0aXZlLWxvdywgTVcgRUVQUk9NIGFuZCBBVVggYXJlIGFjdGl2ZSBoaWdoICovCisJc3dpdGNoIChkZXYpIHsKKwljYXNlIDE6IC8qIFNQSSBFRVBST00gKi8KKwkJYWxpNTEyeF9jaW9fb3V0KDE2LCAwKTsKKwkJYnJlYWs7CisJCQorCWNhc2UgMjogLyogTVcgRUVQUk9NICovCisJCWFsaTUxMnhfY2lvX291dCgxNSwgMSk7CisJCWJyZWFrOworCQkKKwljYXNlIDM6IC8qIEFVWCAqLwkJCQkKKwkJYWxpNTEyeF9jaW9fb3V0KDE0LCAxKTsKKwkJYnJlYWs7CisJCQorCWNhc2UgMDoKKwkJYWxpNTEyeF9jaW9fb3V0KDE2LCAxKTsKKwkJYWxpNTEyeF9jaW9fb3V0KDE1LCAwKTsKKwkJYWxpNTEyeF9jaW9fb3V0KDE0LCAwKTsKKwkJYnJlYWs7CisJCQorCWRlZmF1bHQ6CisJCXByaW50ZigiSWxsZWdhbCBTU0kgZGV2aWNlIHJlcXVlc3RlZDogJWRcbiIsIGRldik7CisJfQorfQorCisKK3ZvaWQgc3BpX2luaXRfZih2b2lkKSAKK3sKKyNpZmRlZiBDT05GSUdfU0M1MjBfQ0RQX1VTRV9TUEkKKwlzcGlfZWVwcm9tX3Byb2JlKDEpOyAKKyNlbmRpZgkKKyNpZmRlZiBDT05GSUdfU0M1MjBfQ0RQX1VTRV9NVworCW13X2VlcHJvbV9wcm9iZSgyKTsKKyNlbmRpZgkJCit9CisKK3NzaXplX3Qgc3BpX3JlYWQodWNoYXIgKmFkZHIsIGludCBhbGVuLCB1Y2hhciAqYnVmZmVyLCBpbnQgbGVuKSAKK3sKKwlpbnQgb2Zmc2V0OworCWludCBpOworCXNzaXplX3QgcmVzOworCQorCW9mZnNldCA9IDA7CisJZm9yIChpPTA7aTxhbGVuO2krKykgeworCQlvZmZzZXQgPDw9IDg7CisJCW9mZnNldCB8PSBhZGRyW2ldOworCX0KKyAKKyNpZmRlZiBDT05GSUdfU0M1MjBfQ0RQX1VTRV9TUEkKKwlyZXMgPSBzcGlfZWVwcm9tX3JlYWQoMSwgb2Zmc2V0LCBidWZmZXIsIGxlbik7IAorI2VuZGlmCQorI2lmZGVmIENPTkZJR19TQzUyMF9DRFBfVVNFX01XCisJcmVzID0gbXdfZWVwcm9tX3JlYWQoMiwgb2Zmc2V0LCBidWZmZXIsIGxlbik7CisjZW5kaWYJCisJcmV0dXJuIHJlczsKK30KKworc3NpemVfdCBzcGlfd3JpdGUodWNoYXIgKmFkZHIsIGludCBhbGVuLCB1Y2hhciAqYnVmZmVyLCBpbnQgbGVuKSAKK3sKKwlpbnQgb2Zmc2V0OworCWludCBpOworCXNzaXplX3QgcmVzOworCQorCW9mZnNldCA9IDA7CisJZm9yIChpPTA7aTxhbGVuO2krKykgeworCQlvZmZzZXQgPDw9IDg7CisJCW9mZnNldCB8PSBhZGRyW2ldOworCX0KKwkJCisjaWZkZWYgQ09ORklHX1NDNTIwX0NEUF9VU0VfU1BJCisJcmVzID0gc3BpX2VlcHJvbV93cml0ZSgxLCBvZmZzZXQsIGJ1ZmZlciwgbGVuKTsKKyNlbmRpZgkKKyNpZmRlZiBDT05GSUdfU0M1MjBfQ0RQX1VTRV9NVworCXJlcyA9IG13X2VlcHJvbV93cml0ZSgyLCBvZmZzZXQsIGJ1ZmZlciwgbGVuKTsKKyNlbmRpZgkKKwlyZXR1cm4gcmVzOworfQorCmRpZmYgLS1naXQgYS9ib2FyZC9zYzUyMF9jZHAvc2M1MjBfY2RwX2FzbTE2LlMgYi9ib2FyZC9zYzUyMF9jZHAvc2M1MjBfY2RwX2FzbTE2LlMKaW5kZXggYTNjYWRjZi4uMGUwYjBjMCAxMDA2NDQKLS0tIGEvYm9hcmQvc2M1MjBfY2RwL3NjNTIwX2NkcF9hc20xNi5TCisrKyBiL2JvYXJkL3NjNTIwX2NkcC9zYzUyMF9jZHBfYXNtMTYuUwpAQCAtNjAsMyArNjAsMjUgQEAKIAkvKiB0aGUgcmV0dXJuIGFkZHJlc3MgaXMgdG9yZWQgaW4gYnAgKi8KIAlqbXAJKiVicAogCQorCisuc2VjdGlvbiAuYmlvcywgImF4IgorLmNvZGUxNgorLmdsb2JsIHJlYWxtb2RlX3Jlc2V0CityZWFsbW9kZV9yZXNldDoKKwkvKiBBbGlhcyBNTUNSIHRvIDB4ZGYwMDAgKi8KKwltb3Z3CSQweGZmZmMsICVkeAorCW1vdmwJJDB4ODAwZGYwY2IsICVlYXgJCisJb3V0bAklZWF4LCAlZHgJCQorCQorCS8qIFNldCBkcyB0byBwb2ludCB0byBNTUNSIGFsaWFzICovCisJbW92dwkkMHhkZjAwLCAlYXgJCQorCW1vdncJJWF4LCAlZHMJCSAKKwkJCisJLyogaXNzdWUgc29mdHdhcmUgcmVzZXQgdGhvcnVnaCBNTUNSICovCisJbW92bCAgICAkMHhkNzIsICVlZGkKKyAgICAgICAgbW92YgkkMHgwMSwgJWFsCisgICAgICAgIG1vdmIJJWFsLCAoJWRpKQkJCisKKzE6CWhsdAorCWptcAkxCisJCmRpZmYgLS1naXQgYS9ib2FyZC9zYzUyMF9jZHAvdS1ib290LmxkcyBiL2JvYXJkL3NjNTIwX2NkcC91LWJvb3QubGRzCmluZGV4IGFjOGQzZGIuLmZiYWI5YjggMTAwNjQ0Ci0tLSBhL2JvYXJkL3NjNTIwX2NkcC91LWJvb3QubGRzCisrKyBiL2JvYXJkL3NjNTIwX2NkcC91LWJvb3QubGRzCkBAIC0yNyw3ICsyNyw3IEBACiAKIFNFQ1RJT05TCiB7CQotCS4gPSAweDM4N2UwMDAwOyAgICAgICAgICAgICAgICAgICAgIC8qIFdoZXJlIGJvb3Rjb2RlIGluIHRoZSBmbGFzaCBpcyBtYXBwZWQgKi8KKwkuID0gMHgzODdjMDAwMDsgICAgICAgICAgICAgICAgICAgICAvKiBXaGVyZSBib290Y29kZSBpbiB0aGUgZmxhc2ggaXMgbWFwcGVkICovCiAJLnRleHQgIDogeyAqKC50ZXh0KTsgfQogCQogICAgICAgICAuID0gQUxJR04oNCk7CmRpZmYgLS1naXQgYS9ib2FyZC9zYzUyMF9zcHVuay9NYWtlZmlsZSBiL2JvYXJkL3NjNTIwX3NwdW5rL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzMjE3YzMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC9zYzUyMF9zcHVuay9NYWtlZmlsZQpAQCAtMCwwICsxLDQ3IEBACisjCisjIChDKSBDb3B5cmlnaHQgMjAwMgorIyBEYW5pZWwgRW5nc3Ry9m0sIE9taWNyb24gQ2V0aSBBQiwgZGFuaWVsQG9taWNyb24uc2UuCisjCisjIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCisjIHByb2plY3QuCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKyMgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisjIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sCisjIE1BIDAyMTExLTEzMDcgVVNBCisjCisKK2luY2x1ZGUgJChUT1BESVIpL2NvbmZpZy5taworCitMSUIJPSBsaWIkKEJPQVJEKS5hCisKK09CSlMJOj0gc2M1MjBfc3B1bmsubyBmbGFzaC5vCitTT0JKUwk6PSBzYzUyMF9zcHVua19hc20ubyBzYzUyMF9zcHVua19hc20xNi5vCisKKyQoTElCKToJJChPQkpTKSAkKFNPQkpTKQorCSQoQVIpIGNydiAkQCAkXgorCitjbGVhbjoKKwlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCisKK2Rpc3RjbGVhbjoJY2xlYW4KKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworLmRlcGVuZDoJTWFrZWZpbGUgJChTT0JKUzoubz0uUykgJChPQkpTOi5vPS5jKQorCQkkKENDKSAtTSAkKENQUEZMQUdTKSAkKFNPQkpTOi5vPS5TKSAkKE9CSlM6Lm89LmMpID4gJEAKKworLWluY2x1ZGUgLmRlcGVuZAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQgYS9ib2FyZC9zYzUyMF9zcHVuay9jb25maWcubWsgYi9ib2FyZC9zYzUyMF9zcHVuay9jb25maWcubWsKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjI1MzgxNQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkL3NjNTIwX3NwdW5rL2NvbmZpZy5tawpAQCAtMCwwICsxLDI1IEBACisjCisjIChDKSBDb3B5cmlnaHQgMjAwMgorIyBEYW5pZWwgRW5nc3Ry9m0sIE9taWNyb24gQ2V0aSBBQiwgZGFuaWVsQG9taWNyb24uc2UuCisjCisjIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCisjIHByb2plY3QuCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKyMgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisjIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sCisjIE1BIDAyMTExLTEzMDcgVVNBCisjCisKKworVEVYVF9CQVNFID0gMHgzODdjMDAwMApkaWZmIC0tZ2l0IGEvYm9hcmQvc2M1MjBfc3B1bmsvZmxhc2guYyBiL2JvYXJkL3NjNTIwX3NwdW5rL2ZsYXNoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZlZjcyMAotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkL3NjNTIwX3NwdW5rL2ZsYXNoLmMKQEAgLTAsMCArMSw4MTMgQEAKKy8qCisgKiAoQykgQ29weXJpZ2h0IDIwMDIsIDIwMDMKKyAqIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCLCBkYW5pZWxAb21pY3Jvbi5zZQorICogCisgKiAoQykgQ29weXJpZ2h0IDIwMDIKKyAqIFN5c2dvIFJlYWwtVGltZSBTb2x1dGlvbnMsIEdtYkggPHd3dy5lbGlub3MuY29tPgorICogQWxleCBadWVwa2UgPGF6dUBzeXNnby5kZT4KKyAqCisgKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcworICogcHJvamVjdC4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKyAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLAorICogTUEgMDIxMTEtMTMwNyBVU0EKKyAqLworCisjaW5jbHVkZSA8Y29tbW9uLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8cGNpLmg+CisjaW5jbHVkZSA8YXNtL2ljL3NjNTIwLmg+CisKKyNkZWZpbmUgUFJPQkVfQlVGRkVSX1NJWkUgMTAyNAorc3RhdGljIHVuc2lnbmVkIGNoYXIgYnVmZmVyW1BST0JFX0JVRkZFUl9TSVpFXTsKKworCisjZGVmaW5lIFNDNTIwX01BWF9GTEFTSF9CQU5LUyAgMQorI2RlZmluZSBTQzUyMF9GTEFTSF9CQU5LMF9CQVNFIDB4MzgwMDAwMDAgIC8qIEJPT1RDUyAqLworI2RlZmluZSBTQzUyMF9GTEFTSF9CQU5LU0laRSAgIDB4ODAwMDAwMAorCisjZGVmaW5lIEEyOUxWNjQxREhfU0laRSAgICAgICAgMHg4MDAwMDAKKyNkZWZpbmUgQTI5TFY2NDFESF9TRUNUT1JTICAgICAxMjgKKworI2RlZmluZSBBMjlMVjY0MU1IX1NJWkUgICAgICAgIDB4ODAwMDAwCisjZGVmaW5lIEEyOUxWNjQxTUhfU0VDVE9SUyAgICAgMTI4CisKKyNkZWZpbmUgSTI4RjMyMEozQV9TSVpFICAgICAgICAweDQwMDAwMAorI2RlZmluZSBJMjhGMzIwSjNBX1NFQ1RPUlMgICAgIDMyCisKKyNkZWZpbmUgSTI4RjY0MEozQV9TSVpFICAgICAgICAweDgwMDAwMAorI2RlZmluZSBJMjhGNjQwSjNBX1NFQ1RPUlMgICAgIDY0CisKKyNkZWZpbmUgSTI4RjEyOEozQV9TSVpFICAgICAgICAweDEwMDAwMDAKKyNkZWZpbmUgSTI4RjEyOEozQV9TRUNUT1JTICAgICAxMjgKKworZmxhc2hfaW5mb190ICAgIGZsYXNoX2luZm9bU0M1MjBfTUFYX0ZMQVNIX0JBTktTXTsKKworI2RlZmluZSBSRUFEWSAxCisjZGVmaW5lIEVSUiAgIDIKKyNkZWZpbmUgVE1PICAgNAorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworCitzdGF0aWMgdTMyIF9wcm9iZV9mbGFzaCh1MzIgYWRkciwgdTMyIGJ3LCBpbnQgaWwpCit7CisJdTMyIHJlc3VsdD0wOworCQorCS8qIEZpcnN0IGRvIGFuIHVubG9jayBjeWNsZSBmb3IgdGhlIGJlbmVmaXQgb2YKKwkgKiBkZXZpY2VzIHRoYXQgbmVlZCBpdCAqLworCQorCXN3aXRjaCAoYncpIHsKKwkJCisJY2FzZSAxOgorCQkqKHZvbGF0aWxlIHU4KikoYWRkcisweDU1NTUpID0gMHhhYTsKKwkJKih2b2xhdGlsZSB1OCopKGFkZHIrMHgyYWFhKSA9IDB4NTU7CisJCSoodm9sYXRpbGUgdTgqKShhZGRyKzB4NTU1NSkgPSAweDkwOworCQkKKwkJLyogUmVhZCB2ZW5kb3IgKi8KKwkJcmVzdWx0ID0gKih2b2xhdGlsZSB1OCopYWRkcjsKKwkJcmVzdWx0IDw8PSAxNjsKKwkJCisJCS8qIFJlYWQgZGV2aWNlICovCisJCXJlc3VsdCB8PSAqKHZvbGF0aWxlIHU4KikoYWRkcisyKTsKKwkJCisJCS8qIFJldHVybiBkZXZpY2UgdG8gZGF0YSBtb2RlICovCisJCSoodm9sYXRpbGUgdTgqKWFkZHIgPSAweGZmOworCQkqKHZvbGF0aWxlIHU4KikoYWRkcisweDU1NTUpLCAweGYwOyAgCisJCWJyZWFrOworCQkKKwljYXNlIDI6CisJCSoodm9sYXRpbGUgdTE2KikoYWRkcisweGFhYWEpID0gMHhhYWFhOworCQkqKHZvbGF0aWxlIHUxNiopKGFkZHIrMHg1NTU0KSA9IDB4NTU1NTsKKwkJCisJCS8qIElzc3VlIGlkZW50aWZpY2F0aW9uIGNvbW1hbmQgKi8KKwkJaWYgKGlsID09IDIpIHsKKwkJCSoodm9sYXRpbGUgdTE2KikoYWRkcisweGFhYWEpID0gMHg5MDkwOworCQkJCisJCQkvKiBSZWFkIHZlbmRvciAqLworCQkJcmVzdWx0ID0gKih2b2xhdGlsZSB1OCopYWRkcjsKKwkJCXJlc3VsdCA8PD0gMTY7CisJCQkKKwkJCS8qIFJlYWQgZGV2aWNlICovCisJCQlyZXN1bHQgfD0gKih2b2xhdGlsZSB1OCopKGFkZHIrMik7CisJCQkKKwkJCS8qIFJldHVybiBkZXZpY2UgdG8gZGF0YSBtb2RlICovCisJCQkqKHZvbGF0aWxlIHUxNiopYWRkciA9ICAweGZmZmY7CisJCQkqKHZvbGF0aWxlIHUxNiopKGFkZHIrMHhhYWFhKSwgMHhmMGYwOyAgCisJCQkKKwkJfSBlbHNlIHsKKwkJCSoodm9sYXRpbGUgdTgqKShhZGRyKzB4YWFhYSkgPSAweDkwOworCQkJLyogUmVhZCB2ZW5kb3IgKi8KKwkJCXJlc3VsdCA9ICoodm9sYXRpbGUgdTE2KilhZGRyOworCQkJcmVzdWx0IDw8PSAxNjsKKwkJCQorCQkJLyogUmVhZCBkZXZpY2UgKi8KKwkJCXJlc3VsdCB8PSAqKHZvbGF0aWxlIHUxNiopKGFkZHIrMik7CisJCQkKKwkJCS8qIFJldHVybiBkZXZpY2UgdG8gZGF0YSBtb2RlICovCisJCQkqKHZvbGF0aWxlIHU4KilhZGRyID0gMHhmZjsKKwkJCSoodm9sYXRpbGUgdTgqKShhZGRyKzB4YWFhYSksIDB4ZjA7ICAJCQkKKwkJfQorCQkKKwkJYnJlYWs7CisJCQorCSBjYXNlIDQ6CisJCSoodm9sYXRpbGUgdTMyKikoYWRkcisweDU1NTQpID0gMHhhYWFhYWFhYTsKKwkJKih2b2xhdGlsZSB1MzIqKShhZGRyKzB4YWFhOCkgPSAweDU1NTU1NTU1OworCQkKKwkJc3dpdGNoIChpbCkgeworCQljYXNlIDE6CisJCQkvKiBJc3N1ZSBpZGVudGlmaWNhdGlvbiBjb21tYW5kICovCisJCQkqKHZvbGF0aWxlIHU4KikoYWRkcisweDU1NTQpID0gMHg5MDsKKwkJCQorCQkJLyogUmVhZCB2ZW5kb3IgKi8KKwkJCXJlc3VsdCA9ICoodm9sYXRpbGUgdTE2KilhZGRyOworCQkJcmVzdWx0IDw8PSAxNjsKKwkJCisJCQkvKiBSZWFkIGRldmljZSAqLworCQkJcmVzdWx0IHw9ICoodm9sYXRpbGUgdTE2KikoYWRkcis0KTsKKwkJCQorCQkJLyogUmV0dXJuIGRldmljZSB0byBkYXRhIG1vZGUgKi8KKwkJCSoodm9sYXRpbGUgdTgqKWFkZHIgPSAgMHhmZjsKKwkJCSoodm9sYXRpbGUgdTgqKShhZGRyKzB4NTU1NCksIDB4ZjA7ICAKKwkJCWJyZWFrOworCQkJCisJCWNhc2UgMjoKKwkJCS8qIElzc3VlIGlkZW50aWZpY2F0aW9uIGNvbW1hbmQgKi8KKwkJCSoodm9sYXRpbGUgdTMyKikoYWRkciArIDB4NTU1NCkgPSAweDAwOTAwMDkwOworCQkJCisJCQkvKiBSZWFkIHZlbmRvciAqLworCQkJcmVzdWx0ID0gKih2b2xhdGlsZSB1MTYqKWFkZHI7CisJCQlyZXN1bHQgPDw9IDE2OworCQkJCisJCQkvKiBSZWFkIGRldmljZSAqLworCQkJcmVzdWx0IHw9ICoodm9sYXRpbGUgdTE2KikoYWRkcis0KTsKKwkJCQorCQkJLyogUmV0dXJuIGRldmljZSB0byBkYXRhIG1vZGUgKi8KKwkJCSoodm9sYXRpbGUgdTMyKilhZGRyID0gIDB4MDBmZjAwZmY7CisJCQkqKHZvbGF0aWxlIHUzMiopKGFkZHIrMHg1NTU0KSwgMHgwMGYwMDBmMDsgIAorCQkJYnJlYWs7CisJCQkKKwkJY2FzZSA0OgorCQkJLyogSXNzdWUgaWRlbnRpZmljYXRpb24gY29tbWFuZCAqLworCQkJKih2b2xhdGlsZSB1MzIqKShhZGRyKzB4NTU1NCkgPSAweDkwOTA5MDkwOworCQkJCisJCQkvKiBSZWFkIHZlbmRvciAqLworCQkJcmVzdWx0ID0gKih2b2xhdGlsZSB1OCopYWRkcjsKKwkJCXJlc3VsdCA8PD0gMTY7CisJCQkKKwkJCS8qIFJlYWQgZGV2aWNlICovCisJCQlyZXN1bHQgfD0gKih2b2xhdGlsZSB1OCopKGFkZHIrNCk7CisJCQkKKwkJCS8qIFJldHVybiBkZXZpY2UgdG8gZGF0YSBtb2RlICovCisJCQkqKHZvbGF0aWxlIHUzMiopYWRkciA9ICAweGZmZmZmZmZmOworCQkJKih2b2xhdGlsZSB1MzIqKShhZGRyKzB4NTU1NCksIDB4ZjBmMGYwZjA7IAorCQkJYnJlYWs7CisJCX0KKwkJYnJlYWs7CisJfQorCQorCQorCQorCXJldHVybiByZXN1bHQ7Cit9CisKK2V4dGVybiBpbnQgX3Byb2JlX2ZsYXNoX2VuZDsKK2FzbSAoIl9wcm9iZV9mbGFzaF9lbmQ6XG4iCisgICAgICIubG9uZyAwXG4iKTsKKworc3RhdGljIGludCBpZGVudGlmeV9mbGFzaCh1bnNpZ25lZCBhZGRyZXNzLCBpbnQgd2lkdGgpCit7CisJaW50IGlzOwkKKwlpbnQgZGV2aWNlOworCWludCB2ZW5kb3I7CQorCWludCBzaXplOworCXVuc2lnbmVkIHJlczsKKwkKKwl1MzIgKCpfcHJvYmVfZmxhc2hfcHRyKSh1MzIgYSwgdTMyIGJ3LCBpbnQgaWwpOworCQorCXNpemUgPSAodW5zaWduZWQpJl9wcm9iZV9mbGFzaF9lbmQgLSAodW5zaWduZWQpX3Byb2JlX2ZsYXNoOyAKKwkKKwlpZiAoc2l6ZSA+IFBST0JFX0JVRkZFUl9TSVpFKSB7CisJCXByaW50ZigiX3Byb2JlX2ZsYXNoKCkgcm91dGluZSB0b28gbGFyZ2UgKCVkKSAlcCAtICVwXG4iLAorCQkgICAgICAgc2l6ZSwgJl9wcm9iZV9mbGFzaF9lbmQsIF9wcm9iZV9mbGFzaCk7CisJCXJldHVybiAwOworCX0KKwkKKwltZW1jcHkoYnVmZmVyLCBfcHJvYmVfZmxhc2gsIHNpemUpOworCV9wcm9iZV9mbGFzaF9wdHIgPSAodm9pZCopYnVmZmVyOworCQorCWlzID0gZGlzYWJsZV9pbnRlcnJ1cHRzKCk7CisJcmVzID0gX3Byb2JlX2ZsYXNoX3B0cihhZGRyZXNzLCB3aWR0aCwgMSk7CisJaWYgKGlzKSB7CisJCWVuYWJsZV9pbnRlcnJ1cHRzKCk7CisJfQorCQorCQorICAgICAgICB2ZW5kb3IgPSByZXMgPj4gMTY7CisJZGV2aWNlID0gcmVzICYgMHhmZmZmOworCQorCQkKKwlyZXR1cm4gcmVzOworfQorCit1bG9uZyBmbGFzaF9pbml0KHZvaWQpCit7CisJaW50IGksIGo7CisJdWxvbmcgc2l6ZSA9IDA7CisJCisJZm9yIChpID0gMDsgaSA8IFNDNTIwX01BWF9GTEFTSF9CQU5LUzsgaSsrKSB7CisJCXVuc2lnbmVkIGlkOworCQl1bG9uZyBmbGFzaGJhc2UgPSAwOworCQlpbnQgc2VjdHNpemUgPSAwOyAKKwkJCisJCW1lbXNldChmbGFzaF9pbmZvW2ldLnByb3RlY3QsIDAsIENGR19NQVhfRkxBU0hfU0VDVCk7CisJCXN3aXRjaCAoaSkgeworCQljYXNlIDA6CisJCQlmbGFzaGJhc2UgPSBTQzUyMF9GTEFTSF9CQU5LMF9CQVNFOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlwYW5pYygiY29uZmlndXJlZCB0byBtYW55IGZsYXNoIGJhbmtzIVxuIik7CisJCX0KKwkJCisJCWlkID0gaWRlbnRpZnlfZmxhc2goZmxhc2hiYXNlLCAyKTsKKwkJc3dpdGNoIChpZCkgeworCQljYXNlIDB4MDAwMTIyZDc6CisJCQkvKiAyOUxWNjQxREggKi8KKwkJCWZsYXNoX2luZm9baV0uZmxhc2hfaWQgPQorCQkJCShBTURfTUFOVUZBQ1QgJiBGTEFTSF9WRU5ETUFTSykgfAorCQkJCShBTURfSURfTFY2NDBVICYgRkxBU0hfVFlQRU1BU0spOworCQkJCisJCQlmbGFzaF9pbmZvW2ldLnNpemUgPSBBMjlMVjY0MURIX1NJWkU7CisJCQlmbGFzaF9pbmZvW2ldLnNlY3Rvcl9jb3VudCA9IEEyOUxWNjQxREhfU0VDVE9SUzsKKwkJCXNlY3RzaXplID0gQTI5TFY2NDFESF9TSVpFL0EyOUxWNjQxREhfU0VDVE9SUzsKKwkJCXByaW50ZigiQmFuayAlZDogQU1EIDI5TFY2NDFESFxuIiwgaSk7CisJCQlicmVhazsKKwkJCQorCQljYXNlIDB4MDAwMTIyN0U6CisJCQkvKiAyOUxWNjQxTUggKi8KKwkJCWZsYXNoX2luZm9baV0uZmxhc2hfaWQgPQorCQkJCShBTURfTUFOVUZBQ1QgJiBGTEFTSF9WRU5ETUFTSykgfAorCQkJCShBTURfSURfREw2NDAgJiBGTEFTSF9UWVBFTUFTSyk7CisJCQkKKwkJCWZsYXNoX2luZm9baV0uc2l6ZSA9IEEyOUxWNjQxTUhfU0laRTsKKwkJCWZsYXNoX2luZm9baV0uc2VjdG9yX2NvdW50ID0gQTI5TFY2NDFNSF9TRUNUT1JTOworCQkJc2VjdHNpemUgPSBBMjlMVjY0MU1IX1NJWkUvQTI5TFY2NDFNSF9TRUNUT1JTOworCQkJcHJpbnRmKCJCYW5rICVkOiBBTUQgMjlMVjY0MU1IXG4iLCBpKTsKKwkJCWJyZWFrOworCQkJCisJCWNhc2UgMHgwMDg5MDAxNjoKKwkJCS8qIDI4RjMyMEozQSAqLworCQkJZmxhc2hfaW5mb1tpXS5mbGFzaF9pZCA9CisJCQkJKElOVEVMX01BTlVGQUNUICYgRkxBU0hfVkVORE1BU0spIHwKKwkJCQkoSU5URUxfSURfMjhGMzIwSjNBICYgRkxBU0hfVFlQRU1BU0spOworCQkJCisJCQlmbGFzaF9pbmZvW2ldLnNpemUgPSBJMjhGMzIwSjNBX1NJWkU7CisJCQlmbGFzaF9pbmZvW2ldLnNlY3Rvcl9jb3VudCA9IEkyOEYzMjBKM0FfU0VDVE9SUzsKKwkJCXNlY3RzaXplID0gSTI4RjMyMEozQV9TSVpFL0kyOEYzMjBKM0FfU0VDVE9SUzsKKwkJCXByaW50ZigiQmFuayAlZDogSW50ZWwgMjhGMzIwSjNBXG4iLCBpKTsKKwkJCWJyZWFrOworCQkJCisJCWNhc2UgMHgwMDg5MDAxNzoKKwkJCS8qIDI4RjY0MEozQSAqLworCQkJZmxhc2hfaW5mb1tpXS5mbGFzaF9pZCA9CisJCQkJKElOVEVMX01BTlVGQUNUICYgRkxBU0hfVkVORE1BU0spIHwKKwkJCQkoSU5URUxfSURfMjhGNjQwSjNBICYgRkxBU0hfVFlQRU1BU0spOworCQkJCisJCQlmbGFzaF9pbmZvW2ldLnNpemUgPSBJMjhGNjQwSjNBX1NJWkU7CisJCQlmbGFzaF9pbmZvW2ldLnNlY3Rvcl9jb3VudCA9IEkyOEY2NDBKM0FfU0VDVE9SUzsKKwkJCXNlY3RzaXplID0gSTI4RjY0MEozQV9TSVpFL0kyOEY2NDBKM0FfU0VDVE9SUzsKKwkJCXByaW50ZigiQmFuayAlZDogSW50ZWwgMjhGNjQwSjNBXG4iLCBpKTsKKwkJCWJyZWFrOworCQkJCisJCWNhc2UgMHgwMDg5MDAxODoKKwkJCS8qIDI4RjEyOEozQSAqLworCQkJZmxhc2hfaW5mb1tpXS5mbGFzaF9pZCA9CisJCQkJKElOVEVMX01BTlVGQUNUICYgRkxBU0hfVkVORE1BU0spIHwKKwkJCQkoSU5URUxfSURfMjhGMTI4SjNBICYgRkxBU0hfVFlQRU1BU0spOworCQkJCisJCQlmbGFzaF9pbmZvW2ldLnNpemUgPSBJMjhGMTI4SjNBX1NJWkU7CisJCQlmbGFzaF9pbmZvW2ldLnNlY3Rvcl9jb3VudCA9IEkyOEYxMjhKM0FfU0VDVE9SUzsKKwkJCXNlY3RzaXplID0gSTI4RjEyOEozQV9TSVpFL0kyOEYxMjhKM0FfU0VDVE9SUzsKKwkJCXByaW50ZigiQmFuayAlZDogSW50ZWwgMjhGMTI4SjNBXG4iLCBpKTsKKwkJCWJyZWFrOworCQkJCisJCWRlZmF1bHQ6CisJCQlwcmludGYoIkJhbmsgJWQgaGF2ZSB1bmtub3duIGZsYXNoICUwOHhcbiIsIGksIGlkKTsKKwkJCWZsYXNoX2luZm9baV0uZmxhc2hfaWQgPSBGTEFTSF9VTktOT1dOOworCQkJY29udGludWU7CisJCX0KKwkJCisJCWZvciAoaiA9IDA7IGogPCBmbGFzaF9pbmZvW2ldLnNlY3Rvcl9jb3VudDsgaisrKSB7CisJCQlmbGFzaF9pbmZvW2ldLnN0YXJ0W2pdID0gZmxhc2hiYXNlICsgaiAqIHNlY3RzaXplOworCQl9CisJCXNpemUgKz0gZmxhc2hfaW5mb1tpXS5zaXplOworCQkKKwkJZmxhc2hfcHJvdGVjdChGTEFHX1BST1RFQ1RfQ0xFQVIsCisJCQkgICAgICBmbGFzaF9pbmZvW2ldLnN0YXJ0WzBdLAorCQkJICAgICAgIGZsYXNoX2luZm9baV0uc3RhcnRbMF0gKyBmbGFzaF9pbmZvW2ldLnNpemUgLSAxLAorCQkJICAgICAgJmZsYXNoX2luZm9baV0pOworCX0KKwkKKwkvKgorCSAqIFByb3RlY3QgbW9uaXRvciBhbmQgZW52aXJvbm1lbnQgc2VjdG9ycworCSAqLworCWZsYXNoX3Byb3RlY3QoRkxBR19QUk9URUNUX1NFVCwKKwkJICAgICAgaTM4NmJvb3Rfc3RhcnQsCisJCSAgICAgIGkzODZib290X2VuZCwKKwkJICAgICAgJmZsYXNoX2luZm9bMF0pOworI2lmZGVmIENGR19FTlZfQUREUgorCWZsYXNoX3Byb3RlY3QoRkxBR19QUk9URUNUX1NFVCwKKwkJICAgICAgQ0ZHX0VOVl9BRERSLAorCQkgICAgICBDRkdfRU5WX0FERFIgKyBDRkdfRU5WX1NJWkUgLSAxLAorCQkgICAgICAmZmxhc2hfaW5mb1swXSk7CisjZW5kaWYJCisJcmV0dXJuIHNpemU7Cit9CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLwordm9pZCBmbGFzaF9wcmludF9pbmZvKGZsYXNoX2luZm9fdCAqaW5mbykKK3sKKwlpbnQgaTsKKwkKKwlzd2l0Y2ggKGluZm8tPmZsYXNoX2lkICYgRkxBU0hfVkVORE1BU0spIHsKKwljYXNlIChJTlRFTF9NQU5VRkFDVCAmIEZMQVNIX1ZFTkRNQVNLKToKKwkJcHJpbnRmKCJJTlRFTDogIik7CisJCXN3aXRjaCAoaW5mby0+Zmxhc2hfaWQgJiBGTEFTSF9UWVBFTUFTSykgeworCQljYXNlIChJTlRFTF9JRF8yOEYzMjBKM0EgJiBGTEFTSF9UWVBFTUFTSyk6CisJCQlwcmludGYoIjF4IEkyOEYzMjBKM0EgKDMyTWJpdClcbiIpOworCQkJYnJlYWs7CisJCWNhc2UgKElOVEVMX0lEXzI4RjY0MEozQSAmIEZMQVNIX1RZUEVNQVNLKToKKwkJCXByaW50ZigiMXggSTI4RjY0MEozQSAoNjRNYml0KVxuIik7CisJCQlicmVhazsKKwkJY2FzZSAoSU5URUxfSURfMjhGMTI4SjNBICYgRkxBU0hfVFlQRU1BU0spOgorCQkJcHJpbnRmKCIxeCBJMjhGMTI4SjNBICgxMjhNYml0KVxuIik7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXByaW50ZigiVW5rbm93biBDaGlwIFR5cGVcbiIpOworCQkJZ290byBkb25lOworCQkJYnJlYWs7CisJCX0KKwkJCisJCWJyZWFrOworCQkKKwljYXNlIChBTURfTUFOVUZBQ1QgJiBGTEFTSF9WRU5ETUFTSyk6CisJCXByaW50ZigiQU1EOiAgICIpOworCQlzd2l0Y2ggKGluZm8tPmZsYXNoX2lkICYgRkxBU0hfVFlQRU1BU0spIHsKKwkJY2FzZSAoQU1EX0lEX0xWNjQwVSAmIEZMQVNIX1RZUEVNQVNLKToKKwkJCXByaW50ZigiMXggQU1EMjlMVjY0MURIICg2NE1iaXQpXG4iKTsKKwkJCWJyZWFrOworCQljYXNlIChBTURfSURfREw2NDAgJiBGTEFTSF9UWVBFTUFTSyk6CisJCQlwcmludGYoIjF4IEFNRDI5TFY2NDFNSCAoNjRNYml0KVxuIik7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXByaW50ZigiVW5rbm93biBDaGlwIFR5cGVcbiIpOworCQkJZ290byBkb25lOworCQkJYnJlYWs7CisJCX0KKwkJCisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXByaW50ZigiVW5rbm93biBWZW5kb3IgIik7CisJCWJyZWFrOworCX0KKwkKKwkKKwlwcmludGYoIiAgU2l6ZTogJWxkIE1CIGluICVkIFNlY3RvcnNcbiIsCisJICAgICAgIGluZm8tPnNpemUgPj4gMjAsIGluZm8tPnNlY3Rvcl9jb3VudCk7CisJCisJcHJpbnRmKCIgIFNlY3RvciBTdGFydCBBZGRyZXNzZXM6Iik7CisJZm9yIChpID0gMDsgaSA8IGluZm8tPnNlY3Rvcl9jb3VudDsgaSsrKSB7CisJCWlmICgoaSAlIDUpID09IDApIHsKKwkJCXByaW50ZiAoIlxuICAgIik7CisJCX0KKwkJcHJpbnRmICgiICUwOGxYJXMiLCBpbmZvLT5zdGFydFtpXSwKKwkJCWluZm8tPnByb3RlY3RbaV0gPyAiIChSTykiIDogIiAgICAgIik7CisJfQorCXByaW50ZiAoIlxuIik7CisJCisJZG9uZToKK30KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKKworc3RhdGljIHUzMiBfYW1kX2VyYXNlX2ZsYXNoKHUzMiBhZGRyLCB1MzIgc2VjdG9yKQoreworCXVuc2lnbmVkIGVsYXBzZWQ7CisJCisJLyogSXNzdWUgZXJhc2UgKi8KKwkqKHZvbGF0aWxlIHUxNiopKGFkZHIgKyAweGFhYWEpID0gMHgwMEFBOworCSoodm9sYXRpbGUgdTE2KikoYWRkciArIDB4NTU1NCkgPSAweDAwNTU7CisJKih2b2xhdGlsZSB1MTYqKShhZGRyICsgMHhhYWFhKSA9IDB4MDA4MDsKKwkvKiBBbmQgb25lIHVubG9jayAqLworCSoodm9sYXRpbGUgdTE2KikoYWRkciArIDB4YWFhYSkgPSAweDAwQUE7CisJKih2b2xhdGlsZSB1MTYqKShhZGRyICsgMHg1NTU0KSA9IDB4MDA1NTsKKwkvKiBTZWN0b3IgZXJhc2UgY29tbWFuZCBjb21lcyBsYXN0ICovCisJKih2b2xhdGlsZSB1MTYqKShhZGRyICsgc2VjdG9yKSA9IDB4MDAzMDsKKwkKKwllbGFwc2VkID0gKih2b2xhdGlsZSB1MTYqKSgweGZmZmVmMDAwK1NDNTIwX1NXVE1STUlMTEkpOyAvKiBkdW1teSByZWFkICovCisJZWxhcHNlZCA9IDA7CisJd2hpbGUgKCgoKih2b2xhdGlsZSB1MTYqKShhZGRyICsgc2VjdG9yKSkgJiAweDAwODApICE9IDB4MDA4MCkgeworCQkKKwkJZWxhcHNlZCArPSAqKHZvbGF0aWxlIHUxNiopKDB4ZmZmZWYwMDArU0M1MjBfU1dUTVJNSUxMSSk7CisJCWlmIChlbGFwc2VkID4gKChDRkdfRkxBU0hfRVJBU0VfVE9VVC9DRkdfSFopICogMTAwMCkpIHsKKwkJCSoodm9sYXRpbGUgdTE2KikoYWRkcikgPSAweDAwZjA7CisJCQlyZXR1cm4gMTsJCQkKKwkJfQorCX0KKwkKKwkqKHZvbGF0aWxlIHUxNiopKGFkZHIpID0gMHgwMGYwOworCQorCXJldHVybiAwOworfQorCitleHRlcm4gaW50IF9hbWRfZXJhc2VfZmxhc2hfZW5kOworYXNtICgiX2FtZF9lcmFzZV9mbGFzaF9lbmQ6XG4iCisgICAgICIubG9uZyAwXG4iKTsKKworLyogdGhpcyBuZWVkcyB0byBiZSBpbmxpbmVkLCB0aGUgU1dUTVJNTUlMTEkgcmVnaXN0ZXIgaXMgcmVzZXQgYnkgZWFjaCByZWFkICovCisjZGVmaW5lIF9fdWRlbGF5KGRlbGF5KSBcCit7CVwKKwl1bnNpZ25lZCBtaWNybzsgXAorCXVuc2lnbmVkIG1pbGxpPTA7IFwKKwlcCisJbWljcm8gPSAqKHZvbGF0aWxlIHUxNiopKDB4ZmZmZWYwMDArU0M1MjBfU1dUTVJNSUxMSSk7IFwKKyAgICAgICAgIFwKKwlmb3IgKDs7KSB7IFwKKwkJXAorCQltaWxsaSArPSAqKHZvbGF0aWxlIHUxNiopKDB4ZmZmZWYwMDArU0M1MjBfU1dUTVJNSUxMSSk7IFwKKwkJbWljcm8gPSAqKHZvbGF0aWxlIHUxNiopKDB4ZmZmZWYwMDArU0M1MjBfU1dUTVJNSUNSTyk7IFwKKwkJXAorCQlpZiAoKGRlbGF5KSA8PSAobWljcm8gKyAobWlsbGkgKiAxMDAwKSkpIHsgXAorCQkJYnJlYWs7IFwKKwkJfSBcCisJfSBcCit9IHdoaWxlICgwKSAKKworc3RhdGljIHUzMiBfaW50ZWxfZXJhc2VfZmxhc2godTMyIGFkZHIsIHUzMiBzZWN0b3IpCit7CQorCXVuc2lnbmVkIGVsYXBzZWQ7CisJCisJKih2b2xhdGlsZSB1MTYqKShhZGRyICsgc2VjdG9yKSA9IDB4MDA1MDsgICAvKiBjbGVhciBzdGF0dXMgcmVnaXN0ZXIgKi8KKwkqKHZvbGF0aWxlIHUxNiopKGFkZHIgKyBzZWN0b3IpID0gMHgwMDIwOyAgIC8qIGVyYXNlIHNldHVwICovCisJKih2b2xhdGlsZSB1MTYqKShhZGRyICsgc2VjdG9yKSA9IDB4MDBEMDsgICAvKiBlcmFzZSBjb25maXJtICovCisKKwkKKwkvKiBXYWl0IGF0IGxlYXN0IDgwdXMgLSBsZXQncyB3YWl0IDEgbXMgKi8KKwlfX3VkZWxheSgxMDAwKTsKKwkKKwllbGFwc2VkID0gMDsKKwl3aGlsZSAoKCgqKHZvbGF0aWxlIHUxNiopKGFkZHIgKyBzZWN0b3IpKSAmIDB4MDA4MCkgIT0gMHgwMDgwKSB7CisJCWVsYXBzZWQgKz0gKih2b2xhdGlsZSB1MTYqKSgweGZmZmVmMDAwK1NDNTIwX1NXVE1STUlMTEkpOworCQlpZiAoZWxhcHNlZCA+ICgoQ0ZHX0ZMQVNIX0VSQVNFX1RPVVQvQ0ZHX0haKSAqIDEwMDApKSB7CisJCQkqKHZvbGF0aWxlIHUxNiopKGFkZHIgKyBzZWN0b3IpID0gMHgwMEIwOyAgLyogc3VzcGVuZCBlcmFzZSAgICAgICovCisJCQkqKHZvbGF0aWxlIHUxNiopKGFkZHIgKyBzZWN0b3IpID0gMHgwMEZGOyAgLyogcmVzZXQgdG8gcmVhZCBtb2RlICovCisJCQlyZXR1cm4gMTsJCQkKKwkJfQorCX0KKwkKKwkqKHZvbGF0aWxlIHUxNiopKGFkZHIgKyBzZWN0b3IpID0gMHgwMEZGOyAgLyogcmVzZXQgdG8gcmVhZCBtb2RlICovCisJCisJcmV0dXJuIDA7Cit9CisKKworZXh0ZXJuIGludCBfaW50ZWxfZXJhc2VfZmxhc2hfZW5kOworYXNtICgiX2ludGVsX2VyYXNlX2ZsYXNoX2VuZDpcbiIKKyAgICAgIi5sb25nIDBcbiIpOworCitpbnQgZmxhc2hfZXJhc2UoZmxhc2hfaW5mb190ICppbmZvLCBpbnQgc19maXJzdCwgaW50IHNfbGFzdCkKK3sKKwl1MzIgKCpfZXJhc2VfZmxhc2hfcHRyKSh1MzIgYSwgdTMyIHNvKTsKKwlpbnQgcHJvdDsKKwlpbnQgc2VjdDsKKwl1bnNpZ25lZCBzaXplOworCQorCWlmICgoc19maXJzdCA8IDApIHx8IChzX2ZpcnN0ID4gc19sYXN0KSkgeworCQlpZiAoaW5mby0+Zmxhc2hfaWQgPT0gRkxBU0hfVU5LTk9XTikgeworCQkJcHJpbnRmKCItIG1pc3NpbmdcbiIpOworCQl9IGVsc2UgeworCQkJcHJpbnRmKCItIG5vIHNlY3RvcnMgdG8gZXJhc2VcbiIpOworCQl9CisJCXJldHVybiAxOworCX0KKwkKKwlpZiAoKGluZm8tPmZsYXNoX2lkICYgRkxBU0hfVkVORE1BU0spID09IChBTURfTUFOVUZBQ1QgJiBGTEFTSF9WRU5ETUFTSykpIHsKKwkJc2l6ZSA9ICh1bnNpZ25lZCkmX2FtZF9lcmFzZV9mbGFzaF9lbmQgLSAodW5zaWduZWQpX2FtZF9lcmFzZV9mbGFzaDsgCisJCQorCQlpZiAoc2l6ZSA+IFBST0JFX0JVRkZFUl9TSVpFKSB7CisJCQlwcmludGYoIl9hbWRfZXJhc2VfZmxhc2goKSByb3V0aW5lIHRvbyBsYXJnZSAoJWQpICVwIC0gJXBcbiIsCisJCQkgICAgICAgc2l6ZSwgJl9hbWRfZXJhc2VfZmxhc2hfZW5kLCBfYW1kX2VyYXNlX2ZsYXNoKTsKKwkJCXJldHVybiAwOworCQl9CisJCQorCQltZW1jcHkoYnVmZmVyLCBfYW1kX2VyYXNlX2ZsYXNoLCBzaXplKTsKKwkJX2VyYXNlX2ZsYXNoX3B0ciA9ICh2b2lkKilidWZmZXI7CisJCisJfSBlbHNlIGlmICgoaW5mby0+Zmxhc2hfaWQgJiBGTEFTSF9WRU5ETUFTSykgPT0gKElOVEVMX01BTlVGQUNUICYgRkxBU0hfVkVORE1BU0spKSB7CisJCXNpemUgPSAodW5zaWduZWQpJl9pbnRlbF9lcmFzZV9mbGFzaF9lbmQgLSAodW5zaWduZWQpX2ludGVsX2VyYXNlX2ZsYXNoOyAKKwkJCisJCWlmIChzaXplID4gUFJPQkVfQlVGRkVSX1NJWkUpIHsKKwkJCXByaW50ZigiX2ludGVsX2VyYXNlX2ZsYXNoKCkgcm91dGluZSB0b28gbGFyZ2UgKCVkKSAlcCAtICVwXG4iLAorCQkJICAgICAgIHNpemUsICZfaW50ZWxfZXJhc2VfZmxhc2hfZW5kLCBfaW50ZWxfZXJhc2VfZmxhc2gpOworCQkJcmV0dXJuIDA7CisJCX0KKwkJCisJCW1lbWNweShidWZmZXIsIF9pbnRlbF9lcmFzZV9mbGFzaCwgc2l6ZSk7CisJCV9lcmFzZV9mbGFzaF9wdHIgPSAodm9pZCopYnVmZmVyOworCX0gZWxzZSB7CisJCXByaW50ZiAoIkNhbid0IGVyYXNlIHVua25vd24gZmxhc2ggdHlwZSAtIGFib3J0ZWRcbiIpOworCQlyZXR1cm4gMTsKKwl9CisJCisJcHJvdCA9IDA7CisJZm9yIChzZWN0PXNfZmlyc3Q7IHNlY3Q8PXNfbGFzdDsgKytzZWN0KSB7CisJCWlmIChpbmZvLT5wcm90ZWN0W3NlY3RdKSB7CisJCQlwcm90Kys7CisJCX0KKwl9CisJCisJaWYgKHByb3QpIHsKKwkJcHJpbnRmICgiLSBXYXJuaW5nOiAlZCBwcm90ZWN0ZWQgc2VjdG9ycyB3aWxsIG5vdCBiZSBlcmFzZWQhXG4iLCBwcm90KTsKKwl9IGVsc2UgeworCQlwcmludGYgKCJcbiIpOworCX0KKwkJCisJCisJLyogU3RhcnQgZXJhc2Ugb24gdW5wcm90ZWN0ZWQgc2VjdG9ycyAqLworCWZvciAoc2VjdCA9IHNfZmlyc3Q7IHNlY3Q8PXNfbGFzdDsgc2VjdCsrKSB7CisJCQorCQlpZiAoaW5mby0+cHJvdGVjdFtzZWN0XSA9PSAwKSB7IC8qIG5vdCBwcm90ZWN0ZWQgKi8KKwkJCWludCByZXM7CisJCQlpbnQgZmxhZzsKKwkJCQorCQkJLyogRGlzYWJsZSBpbnRlcnJ1cHRzIHdoaWNoIG1pZ2h0IGNhdXNlIGEgdGltZW91dCBoZXJlICovCisJCQlmbGFnID0gZGlzYWJsZV9pbnRlcnJ1cHRzKCk7CisJCQkKKwkJCXJlcyA9IF9lcmFzZV9mbGFzaF9wdHIoaW5mby0+c3RhcnRbMF0sIGluZm8tPnN0YXJ0W3NlY3RdLWluZm8tPnN0YXJ0WzBdKTsKKwkJCQorCQkJLyogcmUtZW5hYmxlIGludGVycnVwdHMgaWYgbmVjZXNzYXJ5ICovCisJCQlpZiAoZmxhZykgeworCQkJCWVuYWJsZV9pbnRlcnJ1cHRzKCk7CisJCQl9CisJCQkKKwkJCQorCQkJaWYgKHJlcykgeworCQkJCXByaW50ZigiRXJhc2UgdGltZWQgb3V0LCBzZWN0b3IgJWRcbiIsIHNlY3QpOworCQkJCXJldHVybiByZXM7CisJCQl9CisJCQkKKwkJCXB1dGMoJy4nKTsJCQkKKwkJfQkJCisJfQorCisJCisJcmV0dXJuIDA7Cit9CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFdyaXRlIGEgd29yZCB0byBGbGFzaCwgcmV0dXJuczoKKyAqIDAgLSBPSworICogMSAtIHdyaXRlIHRpbWVvdXQKKyAqIDIgLSBGbGFzaCBub3QgZXJhc2VkCisgKi8KK3N0YXRpYyBpbnQgX2FtZF93cml0ZV93b3JkKHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBkZXN0LCB1bnNpZ25lZCBkYXRhKQoreworCXZvbGF0aWxlIHUxNiAqYWRkcjIgPSAodTE2KilzdGFydDsKKwl2b2xhdGlsZSB1MTYgKmRlc3QyID0gKHUxNiopZGVzdDsKKwl2b2xhdGlsZSB1MTYgKmRhdGEyID0gKHUxNiopJmRhdGE7CisJaW50IGk7CisJdW5zaWduZWQgZWxhcHNlZDsKKwkKKwkvKiBDaGVjayBpZiBGbGFzaCBpcyAoc3VmZmljaWVudGx5KSBlcmFzZWQgKi8KKwlpZiAoKCooKHZvbGF0aWxlIHUxNiopZGVzdCkgJiAodTE2KWRhdGEpICE9ICh1MTYpZGF0YSkgeworCQlyZXR1cm4gMjsKKwl9CisJCisJZm9yIChpID0gMDsgaSA8IDI7IGkrKykgeworCQkKKwkJCisJCWFkZHIyWzB4NTU1NV0gPSAweDAwQUE7CisJCWFkZHIyWzB4MmFhYV0gPSAweDAwNTU7CisJCWFkZHIyWzB4NTU1NV0gPSAweDAwQTA7CisJCQorCQlkZXN0MltpXSA9IChkYXRhID4+IChpKjE2KSkgJiAweGZmZmY7CisJCQorCQllbGFwc2VkID0gKih2b2xhdGlsZSB1MTYqKSgweGZmZmVmMDAwK1NDNTIwX1NXVE1STUlMTEkpOyAvKiBkdW1teSByZWFkICovCisJCWVsYXBzZWQgPSAwOworCQkKKwkJLyogZGF0YSBwb2xsaW5nIGZvciBENyAqLworCQl3aGlsZSAoKGRlc3QyW2ldICYgMHgwMDgwKSAhPSAoZGF0YTJbaV0gJiAweDAwODApKSB7CisJCQllbGFwc2VkICs9ICoodm9sYXRpbGUgdTE2KikoMHhmZmZlZjAwMCtTQzUyMF9TV1RNUk1JTExJKTsKKwkJCWlmIChlbGFwc2VkID4gKChDRkdfRkxBU0hfV1JJVEVfVE9VVC9DRkdfSFopICogMTAwMCkpIHsKKwkJCQlhZGRyMltpXSA9IDB4MDBmMDsKKwkJCQlyZXR1cm4gMTsJCQkKKwkJCX0KKwkJfQorCX0KKwkKKwlhZGRyMltpXSA9IDB4MDBmMDsKKwkKKwlyZXR1cm4gMDsKK30KKworZXh0ZXJuIGludCBfYW1kX3dyaXRlX3dvcmRfZW5kOworYXNtICgiX2FtZF93cml0ZV93b3JkX2VuZDpcbiIKKyAgICAgIi5sb25nIDBcbiIpOworCisKKworc3RhdGljIGludCBfaW50ZWxfd3JpdGVfd29yZCh1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZGVzdCwgdW5zaWduZWQgZGF0YSkKK3sKKwlpbnQgaTsKKwl1bnNpZ25lZCBlbGFwc2VkOworCQorCS8qIENoZWNrIGlmIEZsYXNoIGlzIChzdWZmaWNpZW50bHkpIGVyYXNlZCAqLworCWlmICgoKigodm9sYXRpbGUgdTE2KilkZXN0KSAmICh1MTYpZGF0YSkgIT0gKHUxNilkYXRhKSB7CisJCXJldHVybiAyOworCX0KKwkKKwlmb3IgKGkgPSAwOyBpIDwgMjsgaSsrKSB7CisJCQorCQkqKHZvbGF0aWxlIHUxNiopKGRlc3QrMippKSA9IDB4MDA0MDsgLyogd3JpdGUgc2V0dXAgKi8JCQorCQkqKHZvbGF0aWxlIHUxNiopKGRlc3QrMippKSA9IChkYXRhID4+IChpKjE2KSkgJiAweGZmZmY7CisJCQorCQllbGFwc2VkID0gKih2b2xhdGlsZSB1MTYqKSgweGZmZmVmMDAwK1NDNTIwX1NXVE1STUlMTEkpOyAvKiBkdW1teSByZWFkICovCisJCWVsYXBzZWQgPSAwOworCQkKKwkJLyogZGF0YSBwb2xsaW5nIGZvciBENyAqLworCQl3aGlsZSAoKCoodm9sYXRpbGUgdTE2KilkZXN0ICYgMHgwMDgwKSAhPSAweDAwODApIHsKKwkJCWVsYXBzZWQgKz0gKih2b2xhdGlsZSB1MTYqKSgweGZmZmVmMDAwK1NDNTIwX1NXVE1STUlMTEkpOworCQkJaWYgKGVsYXBzZWQgPiAoKENGR19GTEFTSF9XUklURV9UT1VUL0NGR19IWikgKiAxMDAwKSkgeworCQkJCSoodm9sYXRpbGUgdTE2KilkZXN0ID0gMHgwMGZmOworCQkJCXJldHVybiAxOwkJCQorCQkJfQorCQl9CisJfQorCQorCSoodm9sYXRpbGUgdTE2KilkZXN0ID0gMHgwMGZmOworCQorCQorCXJldHVybiAwOworCit9CisKK2V4dGVybiBpbnQgX2ludGVsX3dyaXRlX3dvcmRfZW5kOworYXNtICgiX2ludGVsX3dyaXRlX3dvcmRfZW5kOlxuIgorICAgICAiLmxvbmcgMFxuIik7CisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogQ29weSBtZW1vcnkgdG8gZmxhc2gsIHJldHVybnM6CisgKiAwIC0gT0sKKyAqIDEgLSB3cml0ZSB0aW1lb3V0CisgKiAyIC0gRmxhc2ggbm90IGVyYXNlZAorICogMyAtIFVuc3VwcG9ydGVkIGZsYXNoIHR5cGUKKyAqLworCitpbnQgd3JpdGVfYnVmZihmbGFzaF9pbmZvX3QgKmluZm8sIHVjaGFyICpzcmMsIHVsb25nIGFkZHIsIHVsb25nIGNudCkKK3sKKwl1bG9uZyBjcCwgd3AsIGRhdGE7CisJaW50IGksIGwsIHJjOworCWludCBmbGFnOworCXUzMiAoKl93cml0ZV93b3JkX3B0cikodW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkIGRlc3QsIHVuc2lnbmVkIGRhdGEpOworCXVuc2lnbmVkIHNpemU7CisJCisJaWYgKChpbmZvLT5mbGFzaF9pZCAmIEZMQVNIX1ZFTkRNQVNLKSA9PSAoQU1EX01BTlVGQUNUICYgRkxBU0hfVkVORE1BU0spKSB7CisJCXNpemUgPSAodW5zaWduZWQpJl9hbWRfd3JpdGVfd29yZF9lbmQgLSAodW5zaWduZWQpX2FtZF93cml0ZV93b3JkOyAKKwkJCisJCWlmIChzaXplID4gUFJPQkVfQlVGRkVSX1NJWkUpIHsKKwkJCXByaW50ZigiX2FtZF93cml0ZV93b3JkKCkgcm91dGluZSB0b28gbGFyZ2UgKCVkKSAlcCAtICVwXG4iLAorCQkJICAgICAgIHNpemUsICZfYW1kX3dyaXRlX3dvcmRfZW5kLCBfYW1kX3dyaXRlX3dvcmQpOworCQkJcmV0dXJuIDA7CisJCX0KKwkJCisJCW1lbWNweShidWZmZXIsIF9hbWRfd3JpdGVfd29yZCwgc2l6ZSk7CisJCV93cml0ZV93b3JkX3B0ciA9ICh2b2lkKilidWZmZXI7CisJCisJfSBlbHNlIGlmICgoaW5mby0+Zmxhc2hfaWQgJiBGTEFTSF9WRU5ETUFTSykgPT0gKElOVEVMX01BTlVGQUNUICYgRkxBU0hfVkVORE1BU0spKSB7CisJCXNpemUgPSAodW5zaWduZWQpJl9pbnRlbF93cml0ZV93b3JkX2VuZCAtICh1bnNpZ25lZClfaW50ZWxfd3JpdGVfd29yZDsgCisJCQorCQlpZiAoc2l6ZSA+IFBST0JFX0JVRkZFUl9TSVpFKSB7CisJCQlwcmludGYoIl9pbnRlbF93cml0ZV93b3JkKCkgcm91dGluZSB0b28gbGFyZ2UgKCVkKSAlcCAtICVwXG4iLAorCQkJICAgICAgIHNpemUsICZfaW50ZWxfd3JpdGVfd29yZF9lbmQsIF9pbnRlbF93cml0ZV93b3JkKTsKKwkJCXJldHVybiAwOworCQl9CisJCQorCQltZW1jcHkoYnVmZmVyLCBfaW50ZWxfd3JpdGVfd29yZCwgc2l6ZSk7CisJCV93cml0ZV93b3JkX3B0ciA9ICh2b2lkKilidWZmZXI7CisJfSBlbHNlIHsKKwkJcHJpbnRmICgiQ2FuJ3QgcHJvZ3JhbSB1bmtub3duIGZsYXNoIHR5cGUgLSBhYm9ydGVkXG4iKTsKKwkJcmV0dXJuIDM7CisJfQorCisKKwl3cCA9IChhZGRyICYgfjMpOwkvKiBnZXQgbG93ZXIgd29yZCBhbGlnbmVkIGFkZHJlc3MgKi8KKwkKKworCS8qCisJICogaGFuZGxlIHVuYWxpZ25lZCBzdGFydCBieXRlcworCSAqLworCWlmICgobCA9IGFkZHIgLSB3cCkgIT0gMCkgeworCQlkYXRhID0gMDsKKwkJZm9yIChpPTAsIGNwPXdwOyBpPGw7ICsraSwgKytjcCkgeworCQkJZGF0YSB8PSAoKih1Y2hhciAqKWNwKSA8PCAoOCppKTsKKwkJfQorCQlmb3IgKDsgaTw0ICYmIGNudD4wOyArK2kpIHsKKwkJCWRhdGEgfD0gKnNyYysrIDw8ICg4KmkpOworCQkJLS1jbnQ7CisJCQkrK2NwOworCQl9CisJCWZvciAoOyBjbnQ9PTAgJiYgaTw0OyArK2ksICsrY3ApIHsKKwkJCWRhdGEgfD0gKCoodWNoYXIgKiljcCkgIDw8ICg4KmkpOworCQl9CisJCQorCQkvKiBEaXNhYmxlIGludGVycnVwdHMgd2hpY2ggbWlnaHQgY2F1c2UgYSB0aW1lb3V0IGhlcmUgKi8KKwkJZmxhZyA9IGRpc2FibGVfaW50ZXJydXB0cygpOworCQkKKwkJcmMgPSBfd3JpdGVfd29yZF9wdHIoaW5mby0+c3RhcnRbMF0sIHdwLCBkYXRhKTsKKwkJCisJCS8qIHJlLWVuYWJsZSBpbnRlcnJ1cHRzIGlmIG5lY2Vzc2FyeSAqLworCQlpZiAoZmxhZykgeworCQkJZW5hYmxlX2ludGVycnVwdHMoKTsKKwkJfQorCQlpZiAocmMgIT0gMCkgeworCQkJcmV0dXJuIHJjOworCQl9CisJCXdwICs9IDQ7CisJfQorCQorCS8qCisJICogaGFuZGxlIHdvcmQgYWxpZ25lZCBwYXJ0CisJICovCisJd2hpbGUgKGNudCA+PSA0KSB7CisJCWRhdGEgPSAwOworCQkJICAgICAgIAorCQlmb3IgKGk9MDsgaTw0OyArK2kpIHsKKwkJCWRhdGEgfD0gKnNyYysrIDw8ICg4KmkpOworCQl9CisJCQorCQkvKiBEaXNhYmxlIGludGVycnVwdHMgd2hpY2ggbWlnaHQgY2F1c2UgYSB0aW1lb3V0IGhlcmUgKi8KKwkJZmxhZyA9IGRpc2FibGVfaW50ZXJydXB0cygpOworCisJCXJjID0gX3dyaXRlX3dvcmRfcHRyKGluZm8tPnN0YXJ0WzBdLCB3cCwgZGF0YSk7CisJCQorCQkvKiByZS1lbmFibGUgaW50ZXJydXB0cyBpZiBuZWNlc3NhcnkgKi8KKwkJaWYgKGZsYWcpIHsKKwkJCWVuYWJsZV9pbnRlcnJ1cHRzKCk7CisJCX0KKwkJaWYgKHJjICE9IDApIHsKKwkJCXJldHVybiByYzsKKwkJfQorCQl3cCAgKz0gNDsKKwkJY250IC09IDQ7CisJfQorCQorCWlmIChjbnQgPT0gMCkgeworCQlyZXR1cm4gMDsKKwl9CisJCisJLyoKKwkgKiBoYW5kbGUgdW5hbGlnbmVkIHRhaWwgYnl0ZXMKKwkgKi8KKwlkYXRhID0gMDsKKwlmb3IgKGk9MCwgY3A9d3A7IGk8NCAmJiBjbnQ+MDsgKytpLCArK2NwKSB7CisJCWRhdGEgfD0gKnNyYysrIDw8ICg4KmkpOworCQktLWNudDsKKwl9CisJCisJZm9yICg7IGk8NDsgKytpLCArK2NwKSB7CisJCWRhdGEgfD0gKCoodWNoYXIgKiljcCkgPDwgKDgqaSk7CisJfQorCisJLyogRGlzYWJsZSBpbnRlcnJ1cHRzIHdoaWNoIG1pZ2h0IGNhdXNlIGEgdGltZW91dCBoZXJlICovCisJZmxhZyA9IGRpc2FibGVfaW50ZXJydXB0cygpOworCisJcmMgPSBfd3JpdGVfd29yZF9wdHIoaW5mby0+c3RhcnRbMF0sIHdwLCBkYXRhKTsKKwkKKwkvKiByZS1lbmFibGUgaW50ZXJydXB0cyBpZiBuZWNlc3NhcnkgKi8KKwlpZiAoZmxhZykgeworCQllbmFibGVfaW50ZXJydXB0cygpOworCX0KKwkKKwlyZXR1cm4gcmM7CisJCit9CisKKwpkaWZmIC0tZ2l0IGEvYm9hcmQvc2M1MjBfc3B1bmsvc2M1MjBfc3B1bmsuYyBiL2JvYXJkL3NjNTIwX3NwdW5rL3NjNTIwX3NwdW5rLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTYyZTA0ZQotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkL3NjNTIwX3NwdW5rL3NjNTIwX3NwdW5rLmMKQEAgLTAsMCArMSw2ODYgQEAKKy8qCisgKiAKKyAqIChDKSBDb3B5cmlnaHQgMjAwMgorICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIgPGRhbmllbEBvbWljcm9uLnNlPi4KKyAqCisgKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcworICogcHJvamVjdC4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKyAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLAorICogTUEgMDIxMTEtMTMwNyBVU0EKKyAqLworCisjaW5jbHVkZSA8Y29tbW9uLmg+CisjaW5jbHVkZSA8cGNpLmg+CisjaW5jbHVkZSA8c3NpLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8YXNtL3BjaS5oPgorI2luY2x1ZGUgPGFzbS9pYy9zYzUyMC5oPgorCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworCQorLyogCisgKiBUaGVvcnk6CisgKiBXZSBmaXJzdCBzZXQgdXAgYWxsIElSUXMgdG8gYmUgbm9uLXBjaSwgZWRnZSB0cmlnZ2VyZWQsCisgKiB3aGVuIHdlIGxhdGVyIGVudW1lcmF0ZSB0aGUgcGNpIGJ1cyBhbmQgcGNpX3NjNTIwX2ZpeHVwX2lycSgpIGdldHMgCisgKiBjYWxsZWQgd2UgcmVhbGxvY2F0ZSBpcnFzIHRvIHRoZSBwY2kgYnVzIHdpdGggc2M1MjBfcGNpX3NldF9pcnEoKQorICogYXMgbmVlZGVkLiBXaGUgY2hvb3NlIHRoZSBpcnFzIHRvIGdyYW0gZnJvbSBhIGNvbmZpZ3VyYWJsZSBsaXN0CisgKiBpbnNpZGUgcGNpX3NjNTIwX2ZpeHVwX2lycSgpIChJZiB0aGlzIGxpc3QgY29udGFpbnMgc3R1cGlkIGlycSdzCisgKiBzdWNoIGFzIDAgdGhuZ2FzIHdpbGwgbm90IHdvcmspCisgKi8KKworc3RhdGljIHZvaWQgaXJxX2luaXQodm9pZCkKK3sKKwkvKiBkaXNhYmxlIGdsb2JhbCBpbnRlcnJ1cHQgbW9kZSAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9QSUNJQ1IsIDB4NDApOyAKKwkKKwkvKiBzZXQgYWxsIGlycXMgdG8gZWRnZSAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9NUElDTU9ERSwgMHgwMCk7CisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX1NMMVBJQ01PREUsIDB4MDApOworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9TTDJQSUNNT0RFLCAweDAwKTsKKwkKKwkvKiBhY3RpdmUgbG93IHBvbGFyaXR5IG9uIFBJQyBpbnRlcnJ1cHQgcGlucywgCisJICogIGFjdGl2ZSBoaWdoIHBvbGFyaXR5IG9uIGFsbCBvdGhlciBpcnEgcGlucyAqLworCXdyaXRlX21tY3Jfd29yZChTQzUyMF9JTlRQSU5QT0wsIDB4MDAwMCk7CisKKwkvKiBzZXQgaXJxIG51bWJlciBtYXBwaW5nICovCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQVE1SME1BUCwgU0M1MjBfSVJRX0RJU0FCTEVEKTsgICAvKiBkaXNhYmxlIEdQIHRpbWVyIDAgSU5UICovICAgICAgIAorCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUFRNUjFNQVAsIFNDNTIwX0lSUV9ESVNBQkxFRCk7ICAgLyogZGlzYWJsZSBHUCB0aW1lciAxIElOVCAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUFRNUjJNQVAsIFNDNTIwX0lSUV9ESVNBQkxFRCk7ICAgLyogZGlzYWJsZSBHUCB0aW1lciAyIElOVCAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9QSVQwTUFQLCBTQzUyMF9JUlEwKTsgICAgICAgICAgICAgLyogU2V0IFBJVCB0aW1lciAwIElOVCB0byBJUlEwICovIAorCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9QSVQxTUFQLCBTQzUyMF9JUlFfRElTQUJMRUQpOyAgICAgLyogZGlzYWJsZSBQSVQgdGltZXIgMSBJTlQgKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfUElUMk1BUCwgU0M1MjBfSVJRX0RJU0FCTEVEKTsgICAgIC8qIGRpc2FibGUgUElUIHRpbWVyIDIgSU5UICovCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX1BDSUlOVEFNQVAsIFNDNTIwX0lSUV9ESVNBQkxFRCk7ICAvKiBkaXNhYmxlIFBDSSBJTlQgQSAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9QQ0lJTlRCTUFQLCBTQzUyMF9JUlFfRElTQUJMRUQpOyAgLyogZGlzYWJsZSBQQ0kgSU5UIEIgKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfUENJSU5UQ01BUCwgU0M1MjBfSVJRX0RJU0FCTEVEKTsgIC8qIGRpc2FibGUgUENJIElOVCBDICovCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX1BDSUlOVERNQVAsIFNDNTIwX0lSUV9ESVNBQkxFRCk7ICAvKiBkaXNhYmxlIFBDSSBJTlQgRCAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9ETUFCQ0lOVE1BUCwgU0M1MjBfSVJRX0RJU0FCTEVEKTsgLyogZGlzYWJsZSBETUEgSU5UICovIAorCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9TU0lNQVAsIFNDNTIwX0lSUTYpOyAgICAgICAgICAgICAgLyogU2V0IFN5bmNocm9uaXVzIHNlcmlhbCBJTlQgdG8gSVJRNiovCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX1dEVE1BUCwgU0M1MjBfSVJRX0RJU0FCTEVEKTsgICAgICAvKiBkaXNhYmxlIFdhdGNoZG9nIElOVCAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9SVENNQVAsIFNDNTIwX0lSUTgpOyAgICAgICAgICAgICAgLyogU2V0IFJUQyBpbnQgdG8gOCAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9XUFZNQVAsIFNDNTIwX0lSUV9ESVNBQkxFRCk7ICAgICAgLyogZGlzYWJsZSB3cml0ZSBwcm90ZWN0IElOVCAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9JQ0VNQVAsIFNDNTIwX0lSUTEpOyAgICAgICAgICAgICAgLyogU2V0IElDRSBEZWJ1ZyBTZXJpZWxwb3J0IElOVCB0byBJUlExICovCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0ZFUlJNQVAsU0M1MjBfSVJRMTMpOyAgICAgICAgICAgICAvKiBTZXQgRlAgZXJyb3IgSU5UIHRvIElSUTEzICovCisJCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX1VBUlQxTUFQLCBTQzUyMF9JUlE0KTsgICAgICAgICAgICAvKiBTZXQgaW50ZXJuYWwgVUFSVDIgSU5UIHRvIElSUTQgKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfVUFSVDJNQVAsIFNDNTIwX0lSUTMpOyAgICAgICAgICAgIC8qIFNldCBpbnRlcm5hbCBVQVJUMiBJTlQgdG8gSVJRMyAqLworCQorCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUDBJTUFQLCBTQzUyMF9JUlE3KTsgICAgICAgICAgICAgLyogU2V0IEdQSVJRMCAoUEMtQ2FyZCBBVVggSVJRKSB0byBJUlE3ICovCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQMUlNQVAsIFNDNTIwX0lSUTE0KTsgICAgICAgICAgICAvKiBTZXQgR1BJUlExIChDRiBJUlEpIHRvIElSUTE0ICovCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQM0lNQVAsIFNDNTIwX0lSUTUpOyAgICAgICAgICAgICAvKiBTZXQgR1BJUlEzICggQ0FOIElSUSApIHRpIElSUTUgKi8gCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQNElNQVAsIFNDNTIwX0lSUV9ESVNBQkxFRCk7ICAgICAvKiBkaXNiYWxlIEdJUlE0ICggSVJSIElSUSApICovCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQNUlNQVAsIFNDNTIwX0lSUV9ESVNBQkxFRCk7ICAgICAvKiBkaXNhYmxlIEdQSVJRNSAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUDZJTUFQLCBTQzUyMF9JUlFfRElTQUJMRUQpOyAgICAgLyogZGlzYWJsZSBHUElSUTYgKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfR1A3SU1BUCwgU0M1MjBfSVJRX0RJU0FCTEVEKTsgICAgIC8qIGRpc2FibGUgR1BJUlE3ICovCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQOElNQVAsIFNDNTIwX0lSUV9ESVNBQkxFRCk7ICAgICAvKiBkaXNhYmxlIEdQSVJROCAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUDlJTUFQLCBTQzUyMF9JUlFfRElTQUJMRUQpOyAgICAgLyogZGlzYWJsZSBHUElSUTkgKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfR1AySU1BUCwgU0M1MjBfSVJRX0RJU0FCTEVEKTsgICAgIC8qIGRpc2FibGUgR1BJUlEyICovCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQMTBJTUFQLFNDNTIwX0lSUV9ESVNBQkxFRCk7ICAgICAvKiBkaXNhYmxlIEdQSVJRMTAgKi8gICAgICAgICAgCisJCisJd3JpdGVfbW1jcl93b3JkKFNDNTIwX1BDSUhPU1RNQVAsIDB4MTFmKTsgICAgICAgICAgICAgICAvKiBNYXAgUENJIGhvc3RicmlkZ2UgSU5UIHRvIE5NSSAqLworCXdyaXRlX21tY3Jfd29yZChTQzUyMF9FQ0NNQVAsIDB4MTAwKTsgICAgICAgICAgICAgICAgICAgLyogTWFwIFNEUkFNIEVDQyBmYWlsdXJlIElOVCB0byBOTUkgKi8KKyAKK30KKworCQorLyogUENJIHN0dWZmICovCitzdGF0aWMgdm9pZCBwY2lfc2M1MjBfc3B1bmtfZml4dXBfaXJxKHN0cnVjdCBwY2lfY29udHJvbGxlciAqaG9zZSwgcGNpX2Rldl90IGRldikKK3sKKwlpbnQgdmVyc2lvbiA9IHJlYWRfbW1jcl9ieXRlKFNDNTIwX1NZU0lORk8pOworCQorCS8qIGEgY29uZmlndXJhYmxlIGxpc3RzIG9mIGlycXMgdG8gc3RlYWwKKwkgKiB3aGVuIHdlIG5lZWQgb25lIChhIGJvYXJkIHdpdGggbW9yZSBwY2kgaW50ZXJydXB0IHBpbnMKKwkgKiB3b3VsZCB1c2UgYSBsYXJnZXIgdGFibGUgKi8KKwlzdGF0aWMgaW50IGlycV9saXN0W10gPSB7CisJCUNGR19GSVJTVF9QQ0lfSVJRLAorCQlDRkdfU0VDT05EX1BDSV9JUlEsCisJCUNGR19USElSRF9QQ0lfSVJRLAorCQlDRkdfRk9SVEhfUENJX0lSUQorCX07CisJc3RhdGljIGludCBuZXh0X2lycV9pbmRleD0wOworCQorCWNoYXIgdG1wX3BpbjsJCisJaW50IHBpbjsKKwkKKwlwY2lfaG9zZV9yZWFkX2NvbmZpZ19ieXRlKGhvc2UsIGRldiwgUENJX0lOVEVSUlVQVF9QSU4sICZ0bXBfcGluKTsKKwlwaW4gPSB0bXBfcGluOworCQorCXBpbi09MTsgLyogcGNpIGNvbmZpZyBzcGFjZSB1c2UgMS1iYXNlZCBudW1iZXJpbmcgKi8KKwlpZiAoLTEgPT0gcGluKSB7CisJCXJldHVybjsgLyogZGV2aWNlIHVzZSBubyBpcnEgKi8KKwl9CisJCisJCisgICAgICAgCisJLyogbWFwIGRldmljZSBudW1iZXIgKyAgcGluIHRvIGEgcGluIG9uIHRoZSBzYzUyMCAqLworCXN3aXRjaCAoUENJX0RFVihkZXYpKSB7CisJY2FzZSA2OiAgLyogRVRIMCAqLwkJICAKKwkJcGluKz1TQzUyMF9QQ0lfSU5UQTsKKwkJYnJlYWs7CisJCQorCWNhc2UgNzogIC8qIEVUSDEgKi8KKwkJcGluKz1TQzUyMF9QQ0lfSU5UQjsKKwkJYnJlYWs7CisJCQorCWNhc2UgODogIC8qIENyeXB0byAqLworCQlwaW4rPVNDNTIwX1BDSV9JTlRDOworCQlicmVhazsKKwkJCisJY2FzZSA5OiAvKiBQTUMgc2xvdCAqLworCQlwaW4rPVNDNTIwX1BDSV9JTlREOworCQlicmVhazsKKwkJCisJY2FzZSAxMDogLyogUEMtQ2FyZCAqLworCQkKKwkJaWYgKHZlcnNpb24gPCAxMCkgewkJCQorCQkJcGluKz1TQzUyMF9QQ0lfSU5URDsKKwkJfSBlbHNlIHsKKwkJCXBpbis9U0M1MjBfUENJX0lOVEM7CisJCX0KKwkJYnJlYWs7CisJCQorCWRlZmF1bHQ6IAorCQlyZXR1cm47CisJfQorCQorCXBpbiY9MzsgLyogd3JhcCBhcm91bmQgKi8KKwkKKwlpZiAoc2M1MjBfcGNpX2ludHNbcGluXSA9PSAtMSkgeworCQkvKiByZS1yb3V0ZSBvbmUgaW50ZXJydXB0IGZvciB1cyAqLwkJCisJCWlmIChuZXh0X2lycV9pbmRleCA+IDMpIHsKKwkJCXJldHVybjsKKwkJfQorCQlpZiAocGNpX3NjNTIwX3NldF9pcnEocGluLCBpcnFfbGlzdFtuZXh0X2lycV9pbmRleF0pKSB7IAorCQkJcmV0dXJuOworCQl9CisJCW5leHRfaXJxX2luZGV4Kys7CisJfQorCisJCisJaWYgKC0xICE9IHNjNTIwX3BjaV9pbnRzW3Bpbl0pIHsKKwkJcGNpX2hvc2Vfd3JpdGVfY29uZmlnX2J5dGUoaG9zZSwgZGV2LCBQQ0lfSU5URVJSVVBUX0xJTkUsIAorCQkJCQkgICBzYzUyMF9wY2lfaW50c1twaW5dKTsKKwl9CisjaWYgMAkKKwlwcmludGYoImZpeHVwX2lycTogZGV2aWNlICVkIHBpbiAlYyBpcnEgJWRcbiIsIAorCSAgICAgICBQQ0lfREVWKGRldiksICdBJyArIHBpbiwgc2M1MjBfcGNpX2ludHNbcGluXSk7CisjZW5kaWYKK30KKworCitzdGF0aWMgdm9pZCBwY2lfc2M1MjBfc3B1bmtfY29uZmlndXJlX2NhcmRidXMoc3RydWN0IHBjaV9jb250cm9sbGVyICpob3NlLCAKKwkJCQkJICAgICAgcGNpX2Rldl90IGRldiwgc3RydWN0IHBjaV9jb25maWdfdGFibGUgKnRlKQoreworCXUzMiBpb19iYXNlOworCXUzMiB0ZW1wOworCQorCXBjaWF1dG9fY29uZmlnX2RldmljZShob3NlLCBkZXYpOworCQorCXBjaV9ob3NlX3dyaXRlX2NvbmZpZ193b3JkKGhvc2UsIGRldiwgUENJX0NPTU1BTkQsIDB4MDcpOyAgLyogZW5hYmxlIGRldmljZSAqLworCXBjaV9ob3NlX3dyaXRlX2NvbmZpZ19ieXRlKGhvc2UsIGRldiwgMHgwYywgMHgxMCk7ICAgICAgICAgLyogY2FjaGVsaW5lIHNpemUgKi8KKwlwY2lfaG9zZV93cml0ZV9jb25maWdfYnl0ZShob3NlLCBkZXYsIDB4MGQsIDB4NDApOyAgICAgICAgIC8qIGxhdGVuY3kgdGltZXIgKi8KKwlwY2lfaG9zZV93cml0ZV9jb25maWdfYnl0ZShob3NlLCBkZXYsIDB4MWIsIDB4NDApOyAgICAgICAgIC8qIGNhcmRidXMgbGF0ZW5jeSB0aW1lciAqLworCXBjaV9ob3NlX3dyaXRlX2NvbmZpZ193b3JkKGhvc2UsIGRldiwgUENJX0JSSURHRV9DT05UUk9MLCAweDAwNDApOyAgLyogcmVzZXQgY2FyZGJ1cyAqLworCXBjaV9ob3NlX3dyaXRlX2NvbmZpZ193b3JkKGhvc2UsIGRldiwgUENJX0JSSURHRV9DT05UUk9MLCAweDAwODApOyAgLyogcm91dGUgaW50ZXJydXB0cyB0aG91Z2ggRXhDQSAqLworCXBjaV9ob3NlX3dyaXRlX2NvbmZpZ193b3JkKGhvc2UsIGRldiwgIDB4NDQsIDB4M2UwKTsgLyogbWFwIGxlZ2FjeSBJL08gcG9ydCB0byAweDNlMCAqLworCQorCXBjaV9ob3NlX3JlYWRfY29uZmlnX2R3b3JkKGhvc2UsIGRldiwgIDB4ODAsICZ0ZW1wKTsgLyogU3lzdGVtIGNvbnRyb2wgKi8gCisJcGNpX2hvc2Vfd3JpdGVfY29uZmlnX2R3b3JkKGhvc2UsIGRldiwgIDB4ODAsIHRlbXAgfCAweDYwKTsgLyogU3lzdGVtIGNvbnRyb2w6IGRpc2FibGUgY2xvY2tydW4gKi8gCisJLyogcm91dGUgTUYwIHRvIH5JTlQgYW5kIE1GMyB0byBJUlE3IAorCSAqIHJlc2VydmUgYWxsIG90aGVycyAqLworCXBjaV9ob3NlX3dyaXRlX2NvbmZpZ19kd29yZChob3NlLCBkZXYsIDB4OGMsIDB4MDAwMDcwMDIpOyAKKwlwY2lfaG9zZV93cml0ZV9jb25maWdfYnl0ZShob3NlLCBkZXYsIDB4OTEsIDB4MDApOyAgICAvKiBjYXJkIGNvbnRyb2wgKi8KKwlwY2lfaG9zZV93cml0ZV9jb25maWdfYnl0ZShob3NlLCBkZXYsIDB4OTIsIDB4NjIpOyAgICAvKiBkZXZpY2UgY29udHJvbCAqLworCQorCWlmICh0ZS0+ZGV2aWNlICE9IDB4YWM1NikgeworCQlwY2lfaG9zZV93cml0ZV9jb25maWdfYnl0ZShob3NlLCBkZXYsIDB4OTMsIDB4MjEpOyAgICAvKiBhc3luYyBpbnRlcnJ1cHQgZW5hYmxlICovCisJCXBjaV9ob3NlX3dyaXRlX2NvbmZpZ193b3JkKGhvc2UsIGRldiwgMHhhOCwgMHgwMDAwKTsgIC8qIHJlc2V0IEdQSU8gKi8KKwkJcGNpX2hvc2Vfd3JpdGVfY29uZmlnX3dvcmQoaG9zZSwgZGV2LCAweGFjLCAweDAwMDApOyAgLyogcmVzZXQgR1BJTyAqLworCQlwY2lfaG9zZV93cml0ZV9jb25maWdfd29yZChob3NlLCBkZXYsIDB4YWEsIDB4MDAwMCk7ICAvKiByZXNldCBHUElPICovCisJCXBjaV9ob3NlX3dyaXRlX2NvbmZpZ193b3JkKGhvc2UsIGRldiwgMHhhZSwgMHgwMDAwKTsgIC8qIHJlc2V0IEdQSU8gKi8KKwl9IGVsc2UgeworCQlwY2lfaG9zZV93cml0ZV9jb25maWdfYnl0ZShob3NlLCBkZXYsIDB4OTMsIDB4MjApOyAgICAvKiAgKi8KKwl9CisJcGNpX2hvc2Vfd3JpdGVfY29uZmlnX3dvcmQoaG9zZSwgZGV2LCAweGE0LCAweDgwMDApOyAgLyogcmVzZXQgcG93ZXIgbWFuYWdlbWVudCAqLworCQorCQorCXBjaV9ob3NlX3JlYWRfY29uZmlnX2R3b3JkKGhvc2UsIGRldiwgUENJX0JBU0VfQUREUkVTU18wLCAmaW9fYmFzZSk7CisJaW9fYmFzZSAmPSB+MHhmTDsKKwkKKwl3cml0ZWIoMHgwNywgaW9fYmFzZSsweDgwMyk7IC8qIHJvdXRlIENTQyBpcnEgdGhvdWdoIEV4Q0EgYW5kIGVuYWJsZSBJUlE3ICovCisJd3JpdGVsKDAsIGlvX2Jhc2UrMHgxMCk7ICAgICAvKiBDTEtSVU4gZGVmYXVsdCAqLworCXdyaXRlbCgwLCBpb19iYXNlKzB4MjApOyAgICAgLyogQ0xLUlVOIGRlZmF1bHQgKi8KKwkKK30KKworCisKK3N0YXRpYyBzdHJ1Y3QgcGNpX2NvbmZpZ190YWJsZSBwY2lfc2M1MjBfc3B1bmtfY29uZmlnX3RhYmxlW10gPSB7CisJeyAweDEwNGMsIDB4YWM1MCwgUENJX0FOWV9JRCwgMCwgMHgwYSwgMCwgcGNpX3NjNTIwX3NwdW5rX2NvbmZpZ3VyZV9jYXJkYnVzLCB7IDAsIDAsIDB9IH0sIAorCXsgMHgxMDRjLCAweGFjNTYsIFBDSV9BTllfSUQsIDAsIDB4MGEsIDAsIHBjaV9zYzUyMF9zcHVua19jb25maWd1cmVfY2FyZGJ1cywgeyAwLCAwLCAwfSB9LCAKKwl7IDAsIDAsIDAsIDAsIDAsIDAsIE5VTEwsIHswLDAsMH19Cit9OworCitzdGF0aWMgc3RydWN0IHBjaV9jb250cm9sbGVyIHNjNTIwX3NwdW5rX2hvc2UgPSB7CisJZml4dXBfaXJxOiBwY2lfc2M1MjBfc3B1bmtfZml4dXBfaXJxLAorCWNvbmZpZ190YWJsZTogcGNpX3NjNTIwX3NwdW5rX2NvbmZpZ190YWJsZSwKKwlmaXJzdF9idXNubzogMHgwMCwKKwlsYXN0X2J1c25vOiAweGZmLAorfTsKKwordm9pZCBwY2lfaW5pdF9ib2FyZCh2b2lkKQoreworCXBjaV9zYzUyMF9pbml0KCZzYzUyMF9zcHVua19ob3NlKTsKK30KKworCisvKiBzZXQgdXAgdGhlIElTQSBidXMgdGltaW5nIGFuZCBzeXN0ZW0gYWRkcmVzcyBtYXBwaW5ncyAqLworc3RhdGljIHZvaWQgYnVzX2luaXQodm9pZCkKK3sKKwkvKiB2ZXJzaW9ucyAKKwkgKiAwICAgSHlnbG8gdmVyc2lvbnMgMC45NSBhbmQgMC45NiAobGFyZ2UgYmFvcmRzKQorCSAqID8/ICBIeWdsbyB2ZXJzaW9uIDAuOTcgKHNtYWxsIGJvYXJkKQorCSAqIDEwICBTcHVuayBib2FyZAorCSAqLworCWludCB2ZXJzaW9uID0gcmVhZF9tbWNyX2J5dGUoU0M1MjBfU1lTSU5GTyk7CisJCisJaWYgKHZlcnNpb24pIHsKKwkJLyogc2V0IHVwIHRoZSBHUCBJTyBwaW5zIChmb3IgdGhlIFNwdW5rIGJvYXJkKSAqLworCQl3cml0ZV9tbWNyX3dvcmQoU0M1MjBfUElPUEZTMzFfMTYsIDB4ZmZmMCk7IAkvKiBzZXQgdGhlIEdQSU8gcGluIGZ1bmN0aW9uIDMxLTE2IHJlZyAqLworCQl3cml0ZV9tbWNyX3dvcmQoU0M1MjBfUElPUEZTMTVfMCwgIDB4MDAwZik7ICAJLyogc2V0IHRoZSBHUElPIHBpbiBmdW5jdGlvbiAxNS0wIHJlZyAqLworCQl3cml0ZV9tbWNyX3dvcmQoU0M1MjBfUElPRElSMzFfMTYsIDB4MDAwZik7IAkvKiBzZXQgdGhlIEdQSU8gZGlyZWN0aW9uIDMxLTE2IHJlZyAqLworCQl3cml0ZV9tbWNyX3dvcmQoU0M1MjBfUElPRElSMTVfMCwgIDB4MWZmMCk7ICAJLyogc2V0IHRoZSBHUElPIGRpcmVjdGlvbiAxNS0wIHJlZyAqLworCQl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfQ1NQRlMsIDB4YzApOyAgCQkvKiBzZXQgdGhlIENTIHBpbiBmdW5jdGlvbiByZWcgKi8JCisJCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9DTEtTRUwsIDB4NzApOworCQkKKwkJd3JpdGVfbW1jcl93b3JkKFNDNTIwX1BJT0NMUjMxXzE2LCAweDAwMDMpOyAgICAgLyogcmVzZXQgU1NJIGNoaXAtc2VsZWN0cyAqLworCQl3cml0ZV9tbWNyX3dvcmQoU0M1MjBfUElPU0VUMzFfMTYsIDB4MDAwYyk7CisKKwl9IGVsc2UgeworCQkvKiBzZXQgdXAgdGhlIEdQIElPIHBpbnMgKGZvciB0aGUgSHlnbG8gYm9hcmQpICovCisJCXdyaXRlX21tY3Jfd29yZChTQzUyMF9QSU9QRlMzMV8xNiwgMHhmZmMwKTsgCS8qIHNldCB0aGUgR1BJTyBwaW4gZnVuY3Rpb24gMzEtMTYgcmVnICovCisJCXdyaXRlX21tY3Jfd29yZChTQzUyMF9QSU9QRlMxNV8wLCAweDFlN2YpOyAgCS8qIHNldCB0aGUgR1BJTyBwaW4gZnVuY3Rpb24gMTUtMCByZWcgKi8KKwkJd3JpdGVfbW1jcl93b3JkKFNDNTIwX1BJT0RJUjMxXzE2LCAweDAwM2YpOyAJLyogc2V0IHRoZSBHUElPIGRpcmVjdGlvbiAzMS0xNiByZWcgKi8KKwkJd3JpdGVfbW1jcl93b3JkKFNDNTIwX1BJT0RJUjE1XzAsIDB4ZTE4MCk7ICAJLyogc2V0IHRoZSBHUElPIGRpcmVjdGlvbiAxNS0wIHJlZyAqLworCQl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfQ1NQRlMsIDB4MDApOyAgCQkvKiBzZXQgdGhlIENTIHBpbiBmdW5jdGlvbiByZWcgKi8JCisJCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9DTEtTRUwsIDB4NzApOworCQkKKwkJd3JpdGVfbW1jcl93b3JkKFNDNTIwX1BJT0NMUjE1XzAsIDB4MDE4MCk7ICAgICAgLyogcmVzZXQgU1NJIGNoaXAtc2VsZWN0cyAqLworCX0KKwkKKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfR1BDU1JULCAxKTsgICAvKiBzZXQgdGhlIEdQIENTIG9mZnNldCAqLyAgICAJCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQQ1NQVywgMyk7ICAgLyogc2V0IHRoZSBHUCBDUyBwdWxzZSB3aWR0aCAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUENTT0ZGLCAxKTsgIC8qIHNldCB0aGUgR1AgQ1Mgb2Zmc2V0ICovCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0dQUkRXLCAzKTsgICAgLyogc2V0IHRoZSBSRCBwdWxzZSB3aWR0aCAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUFJET0ZGLCAxKTsgIC8qIHNldCB0aGUgR1AgUkQgb2Zmc2V0ICovCisgICAgICAgIHdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUFdSVywgMyk7ICAgIC8qIHNldCB0aGUgR1AgV1IgcHVsc2Ugd2lkdGggKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfR1BXUk9GRiwgMSk7ICAvKiBzZXQgdGhlIEdQIFdSIG9mZnNldCAqLworCisJd3JpdGVfbW1jcl93b3JkKFNDNTIwX0JPT1RDU0NUTCwgMHgwNDA3KTsJCS8qIHNldCB1cCB0aW1pbmcgb2YgQk9PVENTICovIAorCQorCS8qIGFkanVzdCB0aGUgbWVtb3J5IG1hcDoKKwkgKiBieSBkZWZhdWx0IHRoZSBmaXJzdCAyNTZNQiAoMHgwMDAwMDAwMCAtIDB4MGZmZmZmZmYpIGlzIG1hcHBlZCB0byBTRFJBTQorCSAqIGFuZCAyNTZNQiB0byAxRy0xMjhrICAoMHgxMDAwMDAwIC0gMHgzN2ZmZmZmZikgaXMgbWFwcGVkIHRvIFBDSSBtbWlvCisJICogd2UgbmVlZCB0byBtYXAgMUctMTI4ayAtIDFHICgweDM4MDAwMDAwIC0gMHgzZmZmZmZmZikgdG8gQ1MxICovIAorCQorCQkKKwkKKwkvKiBib290Y3MgKi8KKwl3cml0ZV9tbWNyX2xvbmcoU0M1MjBfUEFSMTIsIDB4OGJmZmU4MDApOwkJCisJCisJLyogSURFMCA9IEdQQ1M2IDFmMC0xZjcgKi8KKwl3cml0ZV9tbWNyX2xvbmcoU0M1MjBfUEFSMywgIDB4MzgwODAxZjApOwkJCisKKwkvKiBJREUxID0gR1BDUzcgM2Y2ICovCisJd3JpdGVfbW1jcl9sb25nKFNDNTIwX1BBUjQsICAweDNjMDAwM2Y2KTsJCQorCisJYXNtICgid2JpbnZkXG4iKTsgLyogRmx1c2ggY2FjaGUsIHJlcS4gYWZ0ZXIgc2V0dGluZyB0aGUgdW5jaGFjaGVkIGF0dHJpYnV0ZSBvbmEgUEFSICovCQorCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX0FERERFQ0NUTCwgcmVhZF9tbWNyX2J5dGUoU0M1MjBfQUREREVDQ1RMKSAmIH4oVUFSVDJfRElTfFVBUlQxX0RJUykpOwkKKworfQorCisKKworLyogcGFyIHVzYWdlOgorICogUEFSMCAgIChsZWdhY3lfdmlkZW8pCisgKiBQQVIxICAgKFBDSSBST00gbWFwcGluZykKKyAqIFBBUjIgCisgKiBQQVIzICAgSURFIAorICogUEFSNCAgIElERQorICogUEFSNSAgIChsZWdhY3lfdmlkZW8pCisgKiBQQVI2IAorICogUEFSNyAgIChsZWdhY3lfdmlkZW8pCisgKiBQQVI4ICAgKGxlZ2FjeV92aWRlbykKKyAqIFBBUjkgICAobGVnYWN5X3ZpZGVvKQorICogUEFSMTAKKyAqIFBBUjExICAoSVNBUk9NKQorICogUEFSMTIgIEJPT1RDUworICogUEFSMTMKKyAqIFBBUjE0CisgKiBQQVIxNQorICovCisKKy8qIAorICogVGhpcyBmdW5jdGlvbiBzaG91bGQgbWFwIGEgY2h1bmsgb2Ygc2l6ZSBieXRlcworICogb2YgdGhlIHN5c3RlbSBhZGRyZXNzIHNwYWNlIHRvIHRoZSBJU0EgYnVzCisgKiAKKyAqIFRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiB0aGUgbWVtb3J5IGFkZHJlc3MKKyAqIGFzIHNlZW4gYnkgdGhlIGhvc3QgKHdoaWNoIG1heSB2ZXJ5IHdpbGwgYmUgdGhlCisgKiBzYW1lIGFzIHRoZSBidXMgYWRkcmVzcykKKyAqLwordTMyIGlzYV9tYXBfcm9tKHUzMiBidXNfYWRkciwgaW50IHNpemUpIAoreworCXUzMiBwYXI7CisJCisJcHJpbnRmKCJpc2FfbWFwX3JvbSBhc2tlZCB0byBtYXAgJWQgYnl0ZXMgYXQgJXhcbiIsIAorCSAgICAgICBzaXplLCBidXNfYWRkcik7CisJCisJcGFyID0gc2l6ZTsKKwlpZiAocGFyIDwgMHg4MDAwMCkgeworCQlwYXIgPSAweDgwMDAwOworCX0KKwlwYXIgPj49IDEyOworCXBhci0tOworCXBhciY9MHg3ZjsKKwlwYXIgPDw9IDE4OworCXBhciB8PSAoYnVzX2FkZHI+PjEyKTsKKwlwYXIgfD0gMHg1MDAwMDAwMDsKKwkKKwlwcmludGYgKCJzZXR0aW5nIFBBUjExIHRvICV4XG4iLCBwYXIpOworCQorCS8qIE1hcCByb20gMHgxMDAwMCB3aXRoIFBBUjEgKi8KKwl3cml0ZV9tbWNyX2xvbmcoU0M1MjBfUEFSMTEsICBwYXIpOworCQorCXJldHVybiBidXNfYWRkcjsKK30KKworLyoKKyAqIHRoaXMgZnVuY3Rpb24gcmVtb3ZlZCBhbnkgbWFwcGluZyBjcmVhdGVkCisgKiB3aXRoIHBjaV9nZXRfcm9tX3dpbmRvdygpCisgKi8KK3ZvaWQgaXNhX3VubWFwX3JvbSh1MzIgYWRkcikKK3sKKwlwcmludGYoImlzYV91bm1hcF9yb20gYXNrZWQgdG8gdW5tYXAgJXgiLCBhZGRyKTsKKwlpZiAoKGFkZHI+PjEyKSA9PSAocmVhZF9tbWNyX2xvbmcoU0M1MjBfUEFSMTEpJjB4M2ZmZmYpKSB7CisJCXdyaXRlX21tY3JfbG9uZyhTQzUyMF9QQVIxMSwgMCk7CisJCXByaW50ZigiIGRvbmVcbiIpOworCQlyZXR1cm47CisJfQorCXByaW50ZigiIG5vdCBvdXJzXG4iKTsKK30KKworI2lmZGVmIENPTkZJR19QQ0kKKyNkZWZpbmUgUENJX1JPTV9URU1QX1NQQUNFIDB4MTAwMDAKKy8qIAorICogVGhpcyBmdW5jdGlvbiBzaG91bGQgbWFwIGEgY2h1bmsgb2Ygc2l6ZSBieXRlcworICogb2YgdGhlIHN5c3RlbSBhZGRyZXNzIHNwYWNlIHRvIHRoZSBQQ0kgYnVzLAorICogc3VpdGFibGUgdG8gbWFwIFBDSSBST01TIChidXMgYWRkcmVzcyA8IDE2TSkKKyAqIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiB0aGUgaG9zdCBtZW1vcnkgYWRkcmVzcworICogd2hpY2ggc2hvdWxkIGJlIGNvbnZlcnRlZCBpbnRvIGEgYnVzIGFkZHJlc3MKKyAqIGJlZm9yZSB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgUENJIHJvbSBhZGRyZXNzIAorICogZGVjb2RlcgorICovCit1MzIgcGNpX2dldF9yb21fd2luZG93KHN0cnVjdCBwY2lfY29udHJvbGxlciAqaG9zZSwgaW50IHNpemUpIAoreworCXUzMiBwYXI7CisJCisJcGFyID0gc2l6ZTsKKwlpZiAocGFyIDwgMHg4MDAwMCkgeworCQlwYXIgPSAweDgwMDAwOworCX0KKwlwYXIgPj49IDE2OworCXBhci0tOworCXBhciY9MHg3ZmY7CisJcGFyIDw8PSAxNDsKKwlwYXIgfD0gKFBDSV9ST01fVEVNUF9TUEFDRT4+MTYpOworCXBhciB8PSAweDcyMDAwMDAwOworCQorCXByaW50ZiAoInNldHRpbmcgUEFSMSB0byAleFxuIiwgcGFyKTsKKwkKKwkvKiBNYXAgcm9tIDB4MTAwMDAgd2l0aCBQQVIxICovCisJd3JpdGVfbW1jcl9sb25nKFNDNTIwX1BBUjEsICBwYXIpOworCQorCXJldHVybiBQQ0lfUk9NX1RFTVBfU1BBQ0U7Cit9CisKKy8qCisgKiB0aGlzIGZ1bmN0aW9uIHJlbW92ZWQgYW55IG1hcHBpbmcgY3JlYXRlZAorICogd2l0aCBwY2lfZ2V0X3JvbV93aW5kb3coKQorICovCit2b2lkIHBjaV9yZW1vdmVfcm9tX3dpbmRvdyhzdHJ1Y3QgcGNpX2NvbnRyb2xsZXIgKmhvc2UsIHUzMiBhZGRyKQoreworCXByaW50ZigicGNpX3JlbW92ZV9yb21fd2luZG93OiAleCIsIGFkZHIpOworCWlmIChhZGRyID09IFBDSV9ST01fVEVNUF9TUEFDRSkgeworCQl3cml0ZV9tbWNyX2xvbmcoU0M1MjBfUEFSMSwgMCk7CisJCXByaW50ZigiIGRvbmVcbiIpOworCQlyZXR1cm47CisJfQorCXByaW50ZigiIG5vdCBvdXJzXG4iKTsKKwkKK30KKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGluIG9yZGVyIHRvIHByb3ZpZGUgYWNjZXMgdG8gdGhlCisgKiBsZWdhY3kgdmlkZW8gSS9PIHBvcnRzIG9uIHRoZSBQQ0kgYnVzLiAKKyAqIEFmdGVyIHRoaXMgZnVuY3Rpb24gYWNjZXNzZXMgdG8gSS9PIHBvcnRzIDB4M2IwLTB4M2JiIGFuZCAKKyAqIDB4M2MwLTB4M2RmIHNodWxkIHJlc3VsdCBpbiB0cmFuc2FjdGlvbnMgb24gdGhlIFBDSSBidXMuCisgKiAKKyAqLworaW50IHBjaV9lbmFibGVfbGVnYWN5X3ZpZGVvX3BvcnRzKHN0cnVjdCBwY2lfY29udHJvbGxlciAqaG9zZSkKK3sKKwkvKiBNYXAgdmlkZW8gbWVtb3J5IHRvIDB4YTAwMDAqLworCXdyaXRlX21tY3JfbG9uZyhTQzUyMF9QQVIwLCAgMHg3MjAwNDAwYSk7CisJCisJLyogZm9yd2FyZCBhbGwgSS9PIGFjY2Vzc2VzIHRvIFBDSSAqLworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9BRERERUNDVEwsIAorCQkJcmVhZF9tbWNyX2J5dGUoU0M1MjBfQUREREVDQ1RMKSB8IElPX0hPTEVfREVTVF9QQ0kpOwkKKwkKKwkKKwkvKiBzbyB3ZSBtYXAgYXdheSBhbGwgaW8gcG9ydHMgdG8gcGNpIChvbmx5IHdheSB0byBhY2Nlc3MgcGNpIGlvCisJICogYmVsb3cgMHg0MDAuIEJ1dCB0aGVuIHdlIGhhdmUgdG8gbWFwIGJhY2sgdGhlIHBvcnRpb25zIHRoYXQgd2UgZG9udAorCSAqIHVzZSBzbyB0aGF0IHRoZSBnZW5lcmF0ZSBjeWNsZXMgb24gdGhlIEdQSU8gYnVzIHdoZXJlIHRoZSBzaW8gYW5kCisJICogSVNBIHNsb3RzIGFyZSBjb25uZWN0ZWQsIHRoaXMgcmVxdXJlIHRoZSB1c2Ugb2Ygc2V2ZXJhbCBQQVIgcmVnaXN0ZXJzIAorCSAqLworCQorCS8qIGJyaW5nIDB4MTAwIC0gMHgyZjcgYmFjayB0byBJU0EgdXNpbmcgUEFSNSAqLworCXdyaXRlX21tY3JfbG9uZyhTQzUyMF9QQVI1LCAweDMxZjcwMTAwKTsJCQorCQkKKwkvKiBjb20yIHVzZSAyZjgtMmZmICovCisJCisJLyogYnJpbmcgMHgzMDAgLSAweDNhZiBiYWNrIHRvIElTQSB1c2luZyBQQVI3ICovCisJd3JpdGVfbW1jcl9sb25nKFNDNTIwX1BBUjcsIDB4MzBhZjAzMDApOwkJCisJCisJLyogdmdhIHVzZSAzYjAtM2JiICovCisJCisJLyogYnJpbmcgMHgzYmMgLSAweDNiZiBiYWNrIHRvIElTQSB1c2luZyBQQVI4ICovCisJd3JpdGVfbW1jcl9sb25nKFNDNTIwX1BBUjgsIDB4MzAwMzAzYmMpOwkJCisJCisJLyogdmdhIHVzZSAzYzAtM2RmICovCisJCisJLyogYnJpbmcgMHgzZTAgLSAweDNmNyBiYWNrIHRvIElTQSB1c2luZyBQQVI5ICovCisJd3JpdGVfbW1jcl9sb25nKFNDNTIwX1BBUjksIDB4MzAxNzAzZTApOwkJCisJCQorCS8qIGNvbTEgdXNlIDNmOC0zZmYgKi8JCQorCisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworLyoKKyAqIE1pc2NlbGFuZW91cyBwbGF0Zm9ybSBkZXBlbmRlbnQgaW5pdGlhbGlzYXRpb25zCisgKi8KKworaW50IGJvYXJkX2luaXQodm9pZCkKK3sKKwlERUNMQVJFX0dMT0JBTF9EQVRBX1BUUjsKKwkKKwlpbml0X3NjNTIwKCk7CQorCWJ1c19pbml0KCk7CisJaXJxX2luaXQoKTsKKwkJCisJLyogbWF4IGRyaXZlIGN1cnJlbnQgb24gU0RSQU0gKi8KKwl3cml0ZV9tbWNyX3dvcmQoU0M1MjBfRFNDVEwsIDB4MDEwMCk7CisJCQorCS8qIGVudGVyIGRlYnVnIG1vZGUgYWZ0ZXIgbmV4dCByZXNldCAob25seSBpZiBqdW1wZXIgaXMgYWxzbyBzZXQpICovCisJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX1JFU0NGRywgMHgwOCk7CisJLyogY29uZmlndXJlIHRoZSBzb2Z0d2FyZSB0aW1lciB0byAzMy4wMDBNSHogKi8KKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfU1dUTVJDRkcsIDEpOworCWdkLT5idXNfY2xrID0gMzMwMDAwMDA7CisJCisJcmV0dXJuIDA7Cit9CisKK2ludCBkcmFtX2luaXQodm9pZCkKK3sKKwlpbml0X3NjNTIwX2RyYW0oKTsKKwlyZXR1cm4gMDsKK30KKwordm9pZCBzaG93X2Jvb3RfcHJvZ3Jlc3MoaW50IHZhbCkKK3sKKyAJaW50IHZlcnNpb24gPSByZWFkX21tY3JfYnl0ZShTQzUyMF9TWVNJTkZPKTsKKwkKKwlpZiAodmVyc2lvbiA9PSAwKSB7CisJCS8qIFBJTzMxLVBJTzE2IERhdGEgKi8KKwkJd3JpdGVfbW1jcl93b3JkKFNDNTIwX1BJT0RBVEEzMV8xNiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisJCQkJKHJlYWRfbW1jcl93b3JkKFNDNTIwX1BJT0RBVEEzMV8xNikgJiAweGZmYzApfCAoKHZhbCYweDdlKT4+MSkpOyAvKiAweDFmOCA+PiAzICovCisJCQorCQkvKiBQSU8wLVBJTzE1IERhdGEgKi8KKwkJd3JpdGVfbW1jcl93b3JkKFNDNTIwX1BJT0RBVEExNV8wLCAKKwkJCQkocmVhZF9tbWNyX3dvcmQoU0M1MjBfUElPREFUQTE1XzApICYgMHgxZmZmKXwgKCh2YWwmMHg3KTw8MTMpKTsKKwl9IGVsc2UgeworCQkvKiBuZXdlciBib2FyZHMgdXNlIFBJTzQtUElPMTIgKi8KKwkJLyogUElPMC1QSU8xNSBEYXRhICovCisjaWYgMAkJCisJCXZhbCA9ICh2YWwgJiAweDAwNykgfCAoKHZhbCAmIDB4MDM4KSA8PCAzKSB8ICgodmFsICYgMHgxYzApID4+IDMpOyAKKyNlbHNlCisJCXZhbCA9ICh2YWwgJiAweDAwNykgfCAoKHZhbCAmIDB4MDdlKSA8PCAyKTsgCisjZW5kaWYKKwkJd3JpdGVfbW1jcl93b3JkKFNDNTIwX1BJT0RBVEExNV8wLCAKKwkJCQkocmVhZF9tbWNyX3dvcmQoU0M1MjBfUElPREFUQTE1XzApICYgMHhlMDBmKSB8ICgodmFsJjB4MDFmZik8PDQpKTsKKwl9Cit9CisKKworaW50IGxhc3Rfc3RhZ2VfaW5pdCh2b2lkKQoreworCQorCWludCB2ZXJzaW9uID0gcmVhZF9tbWNyX2J5dGUoU0M1MjBfU1lTSU5GTyk7CisJCisJcHJpbnRmKCJPbWljcm9uIENldGkgU0M1MjAgU3B1bmsgcmV2aXNpb24gJXhcbiIsIHZlcnNpb24pOworCQorI2lmIDAKKwlpZiAodmVyc2lvbikgeworCQlpbnQgeCwgeTsKKwkJCisJCXByaW50ZigiZWVwcm9tIHByb2JlICVkXG4iLCBzcGlfZWVwcm9tX3Byb2JlKDEpKTsKKwkJCisJCXNwaV9lZXByb21fcmVhZCgxLCAwLCAodTgqKSZ4LCAyKTsKKwkJc3BpX2VlcHJvbV9yZWFkKDEsIDEsICh1OCopJnksIDIpOworCQlwcmludGYoImVlcHJvbSBieXRlcyAlMDR4JTA0eFxuIiwgeCwgeSk7CisJCXggXj0gMHhmZmZmOworCQl5IF49IDB4ZmZmZjsKKwkJc3BpX2VlcHJvbV93cml0ZSgxLCAwLCAodTgqKSZ4LCAyKTsKKwkJc3BpX2VlcHJvbV93cml0ZSgxLCAxLCAodTgqKSZ5LCAyKTsKKwkJCisJCXNwaV9lZXByb21fcmVhZCgxLCAwLCAodTgqKSZ4LCAyKTsKKwkJc3BpX2VlcHJvbV9yZWFkKDEsIDEsICh1OCopJnksIDIpOworCQlwcmludGYoImVlcHJvbSBieXRlcyAlMDR4JTA0eFxuIiwgeCwgeSk7CisJCQorCX0gZWxzZSB7CisJCWludCB4LCB5OworCQkKKwkJcHJpbnRmKCJlZXByb20gcHJvYmUgJWRcbiIsIG13X2VlcHJvbV9wcm9iZSgxKSk7CisJCQorCQltd19lZXByb21fcmVhZCgxLCAwLCAodTgqKSZ4LCAyKTsKKwkJbXdfZWVwcm9tX3JlYWQoMSwgMSwgKHU4KikmeSwgMik7CisJCXByaW50ZigiZWVwcm9tIGJ5dGVzICUwNHglMDR4XG4iLCB4LCB5KTsKKwkJCisJCXggXj0gMHhmZmZmOworCQl5IF49IDB4ZmZmZjsKKwkJbXdfZWVwcm9tX3dyaXRlKDEsIDAsICh1OCopJngsIDIpOworCQltd19lZXByb21fd3JpdGUoMSwgMSwgKHU4KikmeSwgMik7CisJCQorCQltd19lZXByb21fcmVhZCgxLCAwLCAodTgqKSZ4LCAyKTsKKwkJbXdfZWVwcm9tX3JlYWQoMSwgMSwgKHU4KikmeSwgMik7CisJCXByaW50ZigiZWVwcm9tIGJ5dGVzICUwNHglMDR4XG4iLCB4LCB5KTsKKwkJCisJCQorCX0KKyNlbmRpZgorCisJZHMxNzIyX3Byb2JlKDIpOworCQorCXJldHVybiAwOworfQorCit2b2lkIHNzaV9jaGlwX3NlbGVjdChpbnQgZGV2KSAKK3sKKwlpbnQgdmVyc2lvbiA9IHJlYWRfbW1jcl9ieXRlKFNDNTIwX1NZU0lORk8pOworCQorCWlmICh2ZXJzaW9uKSB7CisJCS8qIFNwdW5rIGJvYXJkOiBFRVBST00gYW5kIENBTiBhcmUgYWN0b3ZlLWxvdywgVEVNUCBhbmQgQVVYIGFyZSBhY3RpdmUgaGlnaCAqLworCQlzd2l0Y2ggKGRldikgeworCQljYXNlIDE6IC8qIEVFUFJPTSAqLworCQkJd3JpdGVfbW1jcl93b3JkKFNDNTIwX1BJT0NMUjMxXzE2LCAweDAwMDQpOworCQkJYnJlYWs7CisJCQkKKwkJY2FzZSAyOiAvKiBUZW1wIFByb2JlICovCisJCQl3cml0ZV9tbWNyX3dvcmQoU0M1MjBfUElPU0VUMzFfMTYsIDB4MDAwMik7CisJCQlicmVhazsKKwkJCQorCQljYXNlIDM6IC8qIENBTiAqLworCQkJd3JpdGVfbW1jcl93b3JkKFNDNTIwX1BJT0NMUjMxXzE2LCAweDAwMDgpOworCQkJYnJlYWs7CisJCQkKKwkJY2FzZSA0OiAvKiBBVVggKi8JCQkJCisJCQl3cml0ZV9tbWNyX3dvcmQoU0M1MjBfUElPU0VUMzFfMTYsIDB4MDAwMSk7CisJCQlicmVhazsKKwkJCisJCWNhc2UgMDoKKwkJCXdyaXRlX21tY3Jfd29yZChTQzUyMF9QSU9DTFIzMV8xNiwgMHgwMDAzKTsKKwkJCXdyaXRlX21tY3Jfd29yZChTQzUyMF9QSU9TRVQzMV8xNiwgMHgwMDBjKTsKKwkJCWJyZWFrOworCQkJCisJCWRlZmF1bHQ6CisJCQlwcmludGYoIklsbGVnYWwgU1NJIGRldmljZSByZXF1ZXN0ZWQ6ICVkXG4iLCBkZXYpOworCQl9CisJfSBlbHNlIHsKKwkJCisJCS8qIEdsb2JveCBib2FyZDogQm90aCBFRVBST00gYW5kIFRFTVAgYXJlIGFjdGl2ZS1oaWdoICovCisKKwkJc3dpdGNoIChkZXYpIHsKKwkJY2FzZSAxOiAvKiBFRVBST00gKi8KKwkJCXdyaXRlX21tY3Jfd29yZChTQzUyMF9QSU9TRVQxNV8wLCAweDAxMDApOworCQkJYnJlYWs7CisJCQkKKwkJY2FzZSAyOiAvKiBUZW1wIFByb2JlICovCisJCQl3cml0ZV9tbWNyX3dvcmQoU0M1MjBfUElPU0VUMTVfMCwgMHgwMDgwKTsKKwkJCWJyZWFrOworCQkKKwkJY2FzZSAwOgorCQkJd3JpdGVfbW1jcl93b3JkKFNDNTIwX1BJT0NMUjE1XzAsIDB4MDE4MCk7CisJCQlicmVhazsKKwkJCQorCQlkZWZhdWx0OgorCQkJcHJpbnRmKCJJbGxlZ2FsIFNTSSBkZXZpY2UgcmVxdWVzdGVkOiAlZFxuIiwgZGV2KTsKKwkJfQorCX0JCit9CisKKwordm9pZCBzcGlfaW5pdF9mKHZvaWQpIAoreworCXJlYWRfbW1jcl9ieXRlKFNDNTIwX1NZU0lORk8pID8KKwkJc3BpX2VlcHJvbV9wcm9iZSgxKSA6IAorCW13X2VlcHJvbV9wcm9iZSgxKTsKKwkKK30KKworc3NpemVfdCBzcGlfcmVhZCh1Y2hhciAqYWRkciwgaW50IGFsZW4sIHVjaGFyICpidWZmZXIsIGludCBsZW4pIAoreworCWludCBvZmZzZXQ7CisJaW50IGk7CisJCisJb2Zmc2V0ID0gMDsKKwlmb3IgKGk9MDtpPGFsZW47aSsrKSB7CisJCW9mZnNldCA8PD0gODsKKwkJb2Zmc2V0IHw9IGFkZHJbaV07CisJfQorCQorCXJldHVybiAJcmVhZF9tbWNyX2J5dGUoU0M1MjBfU1lTSU5GTykgPworCQlzcGlfZWVwcm9tX3JlYWQoMSwgb2Zmc2V0LCBidWZmZXIsIGxlbikgOiAKKwltd19lZXByb21fcmVhZCgxLCBvZmZzZXQsIGJ1ZmZlciwgbGVuKTsKK30KKworc3NpemVfdCBzcGlfd3JpdGUodWNoYXIgKmFkZHIsIGludCBhbGVuLCB1Y2hhciAqYnVmZmVyLCBpbnQgbGVuKSAKK3sKKwlpbnQgb2Zmc2V0OworCWludCBpOworCQorCW9mZnNldCA9IDA7CisJZm9yIChpPTA7aTxhbGVuO2krKykgeworCQlvZmZzZXQgPDw9IDg7CisJCW9mZnNldCB8PSBhZGRyW2ldOworCX0KKwkKKwlyZXR1cm4gCXJlYWRfbW1jcl9ieXRlKFNDNTIwX1NZU0lORk8pID8KKwkJc3BpX2VlcHJvbV93cml0ZSgxLCBvZmZzZXQsIGJ1ZmZlciwgbGVuKSA6IAorCW13X2VlcHJvbV93cml0ZSgxLCBvZmZzZXQsIGJ1ZmZlciwgbGVuKTsKK30KKwpkaWZmIC0tZ2l0IGEvYm9hcmQvc2M1MjBfc3B1bmsvc2M1MjBfc3B1bmtfYXNtLlMgYi9ib2FyZC9zYzUyMF9zcHVuay9zYzUyMF9zcHVua19hc20uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMTk4MTI1Ci0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQvc2M1MjBfc3B1bmsvc2M1MjBfc3B1bmtfYXNtLlMKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIChDKSBDb3B5cmlnaHQgMjAwMgorICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIgPGRhbmllbEBvbWljcm9uLnNlPi4KKyAqCisgKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcworICogcHJvamVjdC4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKyAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLAorICogTUEgMDIxMTEtMTMwNyBVU0EKKyAqLworCisvKiBub3cgc2V0dXAgdGhlIEdlbmVyYWwgcHVycG9zZSBidXMgdG8gZ2l2ZSB1cyBhY2Nlc3MgdG8gdGhlIExFRHMuCisgKiBXZSBjYW4gdGhlbiB1c2UgdGhlIGxlZHMgdG8gZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb24uCisgKi8gCisKK3NjNTIwX2NkcF9yZWdpc3RlcnM6CisvKiBzaXplICAgIG9mZnNldCAgICAgICAgdmFsdWUgKi8KKy53b3JkIDEgOyAud29yZCAweDA0MCA7IC5sb25nIDB4MDAgICAgICAgLyogU0RSQU0gYnVmZmVyIGNvbnRyb2wgKi8KKy53b3JkIDIgOyAud29yZCAweGMwOCA7IC5sb25nIDB4MDAwMSAgICAgLyogR1AgQ1Mgb2Zmc2V0ICovCisud29yZCAyIDsgLndvcmQgMHhjMDkgOyAubG9uZyAweDAwMDMgICAgIC8qIEdQIENTIHdpZHRoICovCisud29yZCAyIDsgLndvcmQgMHhjMGEgOyAubG9uZyAweDAwMDEgICAgIC8qIEdQIENTIHdpZHRoICovCisud29yZCAyIDsgLndvcmQgMHhjMGIgOyAubG9uZyAweDAwMDMgICAgIC8qIEdQIFJEIHB1bHNlIHdpZHRoICovCisud29yZCAyIDsgLndvcmQgMHhjMGMgOyAubG9uZyAweDAwMDEgICAgIC8qIEdQIFJEIG9mZnNlICovCisud29yZCAyIDsgLndvcmQgMHhjMGQgOyAubG9uZyAweDAwMDMgICAgIC8qIEdQIFdSIHB1bHNlIHdpZHRoICovCisud29yZCAyIDsgLndvcmQgMHhjMGUgOyAubG9uZyAweDAwMDEgICAgIC8qIEdQIFdSIG9mZnNldCAqLworLndvcmQgMiA7IC53b3JkIDB4YzJjIDsgLmxvbmcgMHgwMDNmICAgICAvKiBHUElPIGRpcmVjdGlvbnJlZyAzMS0xNiAqLworLndvcmQgMiA7IC53b3JkIDB4YzJhIDsgLmxvbmcgMHhlMDAwICAgICAvKiBHUElPIGRpcmVjdGlvbnJlZyAxNS0wICovCisud29yZCAyIDsgLndvcmQgMHhjMjIgOyAubG9uZyAweGZmYzAgICAgIC8qIEdQSU8gcGluIGZ1bmN0aW9uIDMxLTE2IHJlZyAqLworLndvcmQgMiA7IC53b3JkIDB4YzIwIDsgLmxvbmcgMHgxZmZmICAgICAvKiBHUElPIHBpbiBmdW5jdGlvbiAxNS0wIHJlZyAqLworLndvcmQgMCA7IC53b3JkIDB4MDAwIDsgLmxvbmcgMHgwMAorCisvKiBib2FyZCBlYXJseSBpbnRpYWxpemF0aW9uICovCisuZ2xvYmwgZWFybHlfYm9hcmRfaW5pdAorZWFybHlfYm9hcmRfaW5pdDoKKyAgICAgICAgbW92bCAgICAkc2M1MjBfY2RwX3JlZ2lzdGVycywlZXNpCitpbml0X2xvb3A6CQorICAgICAgICBtb3ZsICAgICQweGZmZmVmMDAwLCVlZGkgICAgIC8qIE1NQ1IgYmFzZSB0byBlZGkgKi8JCQkJCQorCW1vdncJKCVlc2kpLCAlYnggICAgICAgICAgLyogbG9hZCBzaXplIHRvIGJ4ICovCisJY21wdwkkMCwgJWJ4ICAgICAgICAgICAgICAvKiBpZiBzaXplIGlzIDAgd2UncmUgZG9uZSAqLworCWplCWRvbmUgCisJeG9ybAklZWR4LCVlZHgKKwltb3Z3CTIoJWVzaSksICVkeCAgICAgICAgLyogbG9hZCBNTUNSIG9mZnNldCB0byBkeCAqLworCWFkZGwJJWVkeCwgJWVkaSAgICAgICAgICAvKiBhZGQgb2Zmc2V0IHRvIGJhc2UgaW4gZWRpICovCisJbW92bAk0KCVlc2kpLCAlZWF4ICAgICAgIC8qIGxvYWQgdmFsdWUgaW4gZWF4ICovCisJY21wdwkkMSwgJWJ4CisJamUJYnl0ZSAgICAgICAgICAgICAgICAgLyogYnl0ZSBvcD8gKi8KKwljbXB3CSQyLCAlYngKKwlqZQl3b3JkICAgICAgICAgICAgICAgICAvKiB3b3JkIG9wPyAqLworCW1vdmwJJWVheCwgKCVlZGkpICAgICAgICAgLyogbXVzdCBiZSBsb25nLCB0aGVuICovCisJam1wCW5leHQKK2J5dGU6ICAgbW92YiAgICAlYWwsKCVlZGkpICAgICAgICAKKwlqbXAJbmV4dAord29yZDoJbW92dwklYXgsKCVlZGkpCituZXh0OglhZGRsCSQ4LCAlZXNpICAgICAgICAgICAgIC8qIGFkdmFuY2UgZXNpICovCisJam1wCWluaXRfbG9vcAorCisJLyogbGlnaHQgYWxsIGxlZHMgKi8KK2RvbmU6ICAgbW92bCAgICAkMHhmZmZlZmMzMiwlZWR4IAorCW1vdncgICAgJDAwMDAsKCVlZHgpICAgICAgICAgICAgICAKKworCWptcCAJKiVlYnAJCSAgICAgLyogcmV0dXJuIHRvIGNhbGxlciAqLworCisKKy5nbG9ibCBfX3Nob3dfYm9vdF9wcm9ncmVzcworX19zaG93X2Jvb3RfcHJvZ3Jlc3M6CisJbW92bCAgICAkMHhmZmZlZmMzMiwlZWR4IAorCXhvcncgICAgJDB4ZmZmZiwgJWF4IAorCW1vdncgICAgJWF4LCglZWR4KSAgICAgICAgICAgICAgCisJam1wCSolZWJwCisKZGlmZiAtLWdpdCBhL2JvYXJkL3NjNTIwX3NwdW5rL3NjNTIwX3NwdW5rX2FzbTE2LlMgYi9ib2FyZC9zYzUyMF9zcHVuay9zYzUyMF9zcHVua19hc20xNi5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkY2JiYmUKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC9zYzUyMF9zcHVuay9zYzUyMF9zcHVua19hc20xNi5TCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiAoQykgQ29weXJpZ2h0IDIwMDIKKyAqIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCIDxkYW5pZWxAb21pY3Jvbi5zZT4uCisgKgorICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKKyAqIHByb2plY3QuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCisgKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwKKyAqIE1BIDAyMTExLTEzMDcgVVNBCisgKi8KKworLyoKKyAqIDE2Yml0IGluaXRpYWxpemF0aW9uIGNvZGUuCisgKiBUaGlzIGNvZGUgaGF2ZSB0byBtYXAgdGhlIGFyZWEgb2YgdGhlIGJvb3QgZmxhc2gKKyAqIHRoYXQgaXMgdXNlZCBieSBVLWJvb3QgdG8gaXRzIGZpbmFsIGRlc3RpbmF0aW9uLgorICovCisKKy50ZXh0Cisuc2VjdGlvbiAuc3RhcnQxNiwgImF4IgorLmNvZGUxNgorLmdsb2JsIGJvYXJkX2luaXQxNgorYm9hcmRfaW5pdDE2OgorCS8qIEFsaWFzIE1NQ1IgdG8gMHhkZjAwMCAqLworCW1vdncJJDB4ZmZmYywgJWR4CisJbW92bAkkMHg4MDBkZjBjYiwgJWVheAkKKwlvdXRsCSVlYXgsICVkeAkJCisJCisJLyogU2V0IGRzIHRvIHBvaW50IHRvIE1NQ1IgYWxpYXMgKi8KKwltb3Z3CSQweGRmMDAsICVheAkJCisJbW92dwklYXgsICVkcwkJIAorCQkKKwkvKiBNYXAgdGhlIGVudGlyZSBmbGFzaCBhdCAweDM4MDAwMDAwICAKKwkgKiAod2l0aCBCT09UQ1MgYW5kIFBBUjE0LCB1c2UgMHhhYmZmZjgwMCBmb3IgUk9NQ1MxKSAqLworCW1vdmwgICAgJDB4YzAsICVlZGkKKyAgICAgICAgbW92bAkkMHg4YmZmZjgwMCwgJWVheAorICAgICAgICBtb3ZsCSVlYXgsICglZGkpCQkKKworCS8qIERpc2FibGUgU0RSQU0gd3JpdGUgYnVmZmVyICovCisJbW92dyAgICAkMHg0MCwlZGkKKyAgICAgICAgeG9ydyAgICAlYXgsJWF4CisgICAgICAgIG1vdmIgICAgJWFsLCAoJWRpKSAgICAgICAgICAgICAgCisKKwkvKiBEaXNhYmUgTU1DUiBhbGlhcyAqLworCW1vdncJJDB4ZmZmYywgJWR4CisJbW92bAkkMHgwMDAwMDBjYiwgJWVheAkKKwlvdXRsCSVlYXgsICVkeAkJCisJCisJLyogdGhlIHJldHVybiBhZGRyZXNzIGlzIHN0b3JlZCBpbiBicCAqLworCWptcAkqJWJwCisJCisKKy5zZWN0aW9uIC5iaW9zLCAiYXgiCisuY29kZTE2CisuZ2xvYmwgcmVhbG1vZGVfcmVzZXQKK3JlYWxtb2RlX3Jlc2V0OgorCS8qIEFsaWFzIE1NQ1IgdG8gMHhkZjAwMCAqLworCW1vdncJJDB4ZmZmYywgJWR4CisJbW92bAkkMHg4MDBkZjBjYiwgJWVheAkKKwlvdXRsCSVlYXgsICVkeAkJCisJCisJLyogU2V0IGRzIHRvIHBvaW50IHRvIE1NQ1IgYWxpYXMgKi8KKwltb3Z3CSQweGRmMDAsICVheAkJCisJbW92dwklYXgsICVkcwkJIAorCQkKKwkvKiBpc3N1ZSBzb2Z0d2FyZSByZXNldCB0aG9ydWdoIE1NQ1IgKi8KKwltb3ZsICAgICQweGQ3MiwgJWVkaQorICAgICAgICBtb3ZiCSQweDAxLCAlYWwKKyAgICAgICAgbW92YgklYWwsICglZGkpCQkKKworMToJaGx0CisJam1wCTEKKwkKZGlmZiAtLWdpdCBhL2JvYXJkL3NjNTIwX3NwdW5rL3UtYm9vdC5sZHMgYi9ib2FyZC9zYzUyMF9zcHVuay91LWJvb3QubGRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiYWI5YjgKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC9zYzUyMF9zcHVuay91LWJvb3QubGRzCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiAoQykgQ29weXJpZ2h0IDIwMDIKKyAqIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCLCBkYW5pZWxAb21pY3Jvbi5zZS4KKyAqCisgKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcworICogcHJvamVjdC4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKyAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLAorICogTUEgMDIxMTEtMTMwNyBVU0EKKyAqLworCitPVVRQVVRfRk9STUFUKCJlbGYzMi1pMzg2IiwgImVsZjMyLWkzODYiLCAiZWxmMzItaTM4NiIpCitPVVRQVVRfQVJDSChpMzg2KQorRU5UUlkoX3N0YXJ0KQorCitTRUNUSU9OUworewkKKwkuID0gMHgzODdjMDAwMDsgICAgICAgICAgICAgICAgICAgICAvKiBXaGVyZSBib290Y29kZSBpbiB0aGUgZmxhc2ggaXMgbWFwcGVkICovCisJLnRleHQgIDogeyAqKC50ZXh0KTsgfQorCQorICAgICAgICAuID0gQUxJR04oNCk7CisgICAgICAgIC5yb2RhdGEgOiB7ICooLnJvZGF0YSkgfQorCisgICAgICAgIC4gPSAweDQwMDAwMDsgCSAgICAgICAgICAgICAgICAgICAgLyogUmFtIGRhdGEgc2VnbWVudCB0byB1c2UgKi8KKwlfaTM4NmJvb3Rfcm9tZGF0YV9kZXN0ID0gQUJTT0xVVEUoLik7CisgICAgICAgIC5kYXRhIDogQVQgKCBMT0FEQUREUigucm9kYXRhKSArIFNJWkVPRigucm9kYXRhKSApIHsgKiguZGF0YSkgfQorCV9pMzg2Ym9vdF9yb21kYXRhX3N0YXJ0ID0gTE9BREFERFIoLmRhdGEpOyAJCisKKyAgICAgICAgLiA9IEFMSUdOKDQpOworICAgICAgICAuZ290IDogQVQgKCBMT0FEQUREUiguZGF0YSkgKyBTSVpFT0YoLmRhdGEpICkgeyAqKC5nb3QpIH0KKwlfaTM4NmJvb3Rfcm9tZGF0YV9zaXplID0gU0laRU9GKC5kYXRhKSArIFNJWkVPRiguZ290KTsgCQorCisKKyAgICAgICAgLiA9IEFMSUdOKDQpOworCV9pMzg2Ym9vdF9ic3Nfc3RhcnQgPSBBQlNPTFVURSguKTsKKyAgICAgICAgLmJzcyA6IHsgKiguYnNzKSB9CQorCV9pMzg2Ym9vdF9ic3Nfc2l6ZSA9IFNJWkVPRiguYnNzKTsKKwkKKwkKKwkvKiAxNmJpdCByZWFsbW9kZSB0cmFtcG9saW5lIGNvZGUgKi8KKwkucmVhbG1vZGUgMHg3YzAgOiBBVCAoIExPQURBRERSKC5nb3QpICsgU0laRU9GKC5nb3QpICkgeyAqKC5yZWFsbW9kZSkgfQorICAgIAorCV9pMzg2Ym9vdF9yZWFsbW9kZSA9IExPQURBRERSKC5yZWFsbW9kZSk7CisJX2kzODZib290X3JlYWxtb2RlX3NpemUgPSBTSVpFT0YoLnJlYWxtb2RlKTsKKwkKKwkvKiAxNmJpdCBCSU9TIGVtdWxhdGlvbiBjb2RlIChqdXN0IGVub3VnaCB0byBib290IExpbnV4KSAqLworCS5iaW9zIDAgOiBBVCAoIExPQURBRERSKC5yZWFsbW9kZSkgKyBTSVpFT0YoLnJlYWxtb2RlKSApIHsgKiguYmlvcykgfQorICAgIAorCV9pMzg2Ym9vdF9iaW9zID0gTE9BREFERFIoLmJpb3MpOworCV9pMzg2Ym9vdF9iaW9zX3NpemUgPSBTSVpFT0YoLmJpb3MpOworCQorCisJLyogVGhlIGxvYWQgYWRkcmVzc2VzIGJlbG93IGFzc3VtZXMgdGhhdCB0aGUgZmxhc2gKKwkgKiB3aWxsIGJlIG1hcHBlZCBzbyB0aGF0IDB4Mzg3ZjAwMDAgPT0gMHhmZmZmMDAwMAorCSAqIGF0IHJlc2V0IHRpbWUKKwkgKgorCSAqIFRoZSBmZTAwIGFuZCBmZjAwIG9mZnNldHMgb2YgdGhlIHN0YXJ0MzIgYW5kIHN0YXJ0MTYgCisJICogc2VnbWVudHMgYXJlIGFyYml0cmFyeSwgdGhlIGp1c3QgaGF2ZSB0byBiZSBtYXBwZWQKKwkgKiBhdCByZXNldCBhbmQgdGhlIGNvZGUgaGF2ZSB0byBmaXQuCisJICogVGhlIGZmZjAgb2Zmc2V0IG9mIHJlc2V0IGlzIGltcG9ydGFudCwgaG93ZXZlci4KKwkgKi8KKwkgCisJIAorCS4gPSAweGZmZmZmZTAwOworCS5zdGFydDMyIDogQVQgKDB4Mzg3ZmZlMDApIHsgKiguc3RhcnQzMik7IH0gCisJCisJLiA9IDB4ZmYwMDsKKwkuc3RhcnQxNiA6IEFUICgweDM4N2ZmZjAwKSB7ICooLnN0YXJ0MTYpOyB9ICAKKwkKKwkuID0gMHhmZmYwOworCS5yZXNldCA6IEFUICgweDM4N2ZmZmYwKSB7ICooLnJlc2V0KTsgfSAgCisJX2kzODZib290X2VuZCA9IChMT0FEQUREUigucmVzZXQpICsgU0laRU9GKC5yZXNldCkgKTsKK30KZGlmZiAtLWdpdCBhL2JvYXJkL3NpeG5ldC9mcGdhZGF0YS5jIGIvYm9hcmQvc2l4bmV0L2ZwZ2FkYXRhLmMKaW5kZXggZDYyNTJmYi4uYjc1NmE2NSAxMDA2NDQKLS0tIGEvYm9hcmQvc2l4bmV0L2ZwZ2FkYXRhLmMKKysrIGIvYm9hcmQvc2l4bmV0L2ZwZ2FkYXRhLmMKQEAgLTEsMTcxOSArMSwxNzE5IEBACi0gICAgICAgIDB4ZmYsIDB4ODcsIDB4ZGYsIDB4YTgsIDB4N2YsIDB4ZmYsIDB4ZmMsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4OGYsIDB4NzEsCisgICAgICAgIDB4ZmYsIDB4ODcsIDB4ZmYsIDB4ODgsIDB4N2YsIDB4ZmYsIDB4ZjksIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjUsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4OGYsIDB4ZjksCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZjAsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjEsIDB4Y2YsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjEsIDB4ZmYsCi0gICAgICAgIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YWYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZGYsIDB4ODMsIDB4NzMsIDB4ZjAsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsCi0gICAgICAgIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZGYsIDB4ZGYsIDB4ZjMsIDB4ZjAsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4N2YsIDB4N2IsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4NzcsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ODYsIDB4ZjYsIDB4ZjAsIDB4ZmYsCisgICAgICAgIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4MGYsIDB4N2YsCisgICAgICAgIDB4YzEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZjYsIDB4ZjAsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4MGYsIDB4N2YsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ZmEsIDB4ZmYsIDB4OTcsIDB4Y2IsIDB4ZjUsIDB4ZjAsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MGYsIDB4NzEsCi0gICAgICAgIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4ZDcsIDB4ZmYsIDB4ZjMsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZjcsIDB4OGYsIDB4Y2YsIDB4ZjAsIDB4ZjYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmIsIDB4N2YsIDB4MmYsIDB4MWYsIDB4NzEsCisgICAgICAgIDB4ZjUsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZjcsIDB4ZjYsIDB4ZmUsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZDcsIDB4N2YsIDB4NzMsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4MGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4N2YsIDB4NzcsIDB4ZjcsIDB4ZmYsIDB4ZmIsCisgICAgICAgIDB4MGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmUsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjEsCi0gICAgICAgIDB4YmYsIDB4ZWYsIDB4ZjgsIDB4ZGYsIDB4ZmYsIDB4ZjUsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4OGYsIDB4ZmYsIDB4YTAsIDB4ZmYsIDB4ZmIsIDB4OGYsIDB4N2YsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZGYsIDB4OGYsIDB4NzUsIDB4ODEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmEsIDB4Y2UsIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OWYsIDB4ZmYsIDB4OGUsIDB4ZmYsIDB4ZjAsIDB4YmYsIDB4N2YsIDB4ZjUsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4OWYsIDB4ZmQsIDB4ODEsCisgICAgICAgIDB4ZmYsIDB4ZjksIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4OWYsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsCi0gICAgICAgIDB4YmYsIDB4MmYsIDB4ZjAsIDB4YmEsIDB4ZmIsIDB4ZjgsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsCisgICAgICAgIDB4ZmYsIDB4NzcsIDB4ZmEsIDB4YjYsIDB4ZmYsIDB4NzgsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZmQsIDB4MGYsIDB4N2YsIDB4ZjEsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4YWEsIDB4ZjcsIDB4ZmEsIDB4ZmIsIDB4YmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4YWYsIDB4ZjcsIDB4ZmEsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4YmYsCi0gICAgICAgIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4YmYsIDB4N2YsIDB4ZjMsIDB4ZGYsCi0gICAgICAgIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4NzIsIDB4ZGYsIDB4OGYsIDB4ZjUsIDB4ZjAsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MGYsCi0gICAgICAgIDB4NTEsIDB4NTEsIDB4NzUsIDB4NzUsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZjcsIDB4N2EsIDB4ZWYsIDB4OGYsIDB4ZmEsIDB4ZjAsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4MWYsIDB4NTEsIDB4NzEsIDB4ZjUsIDB4ZGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ODcsIDB4OGYsIDB4ZjAsIDB4NzAsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YTQsIDB4OGYsIDB4MGIsIDB4NzEsIDB4OTEsCi0gICAgICAgIDB4NWYsIDB4ZjEsIDB4ZDUsIDB4M2QsIDB4NzUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4N2YsIDB4OGYsIDB4NzAsIDB4ZmYsCi0gICAgICAgIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ZjEsIDB4YWYsIDB4ZmQsIDB4N2IsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ODcsIDB4NzAsIDB4NzAsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MGYsIDB4NzEsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZmUsIDB4N2YsIDB4N2YsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjYsIDB4ZjcsIDB4ZjYsIDB4N2YsIDB4YmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4YmYsIDB4ZjIsIDB4N2YsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZmUsIDB4ZmIsIDB4ZmYsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmYsCisgICAgICAgIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZjcsIDB4Y2YsIDB4OGYsIDB4ZmYsIDB4ZjAsCisgICAgICAgIDB4ZWYsIDB4ZjksIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4MGYsCisgICAgICAgIDB4NjUsIDB4ZTEsIDB4ZmIsIDB4N2IsIDB4ZjMsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZjYsIDB4ZmUsIDB4ZmYsIDB4OGYsIDB4ZjYsIDB4ZTgsCisgICAgICAgIDB4ZjYsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjksIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4NmYsIDB4NjEsIDB4ZjEsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZGUsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ZjAsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4YmYsIDB4ZmYsIDB4ZDQsIDB4OGYsIDB4MGYsIDB4NzEsIDB4YzEsCisgICAgICAgIDB4NmYsIDB4ZDEsIDB4ZWIsIDB4NWYsIDB4ZmQsCisgICAgICAgIDB4ZmYsIDB4OWYsIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4OGYsIDB4OWYsIDB4ZjcsCisgICAgICAgIDB4OWYsIDB4ZmYsIDB4ZjQsIDB4YjcsIDB4ZmQsIDB4ZmYsIDB4ZmUsIDB4OGYsCisgICAgICAgIDB4YmYsIDB4NzEsIDB4MWYsIDB4ZmYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ZmQsIDB4ODcsIDB4ODcsIDB4ZjAsIDB4NzAsIDB4MWYsIDB4ZjcsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MGYsIDB4NzEsIDB4ODEsCisgICAgICAgIDB4YmYsIDB4M2UsIDB4N2YsIDB4N2YsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4N2YsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4M2YsIDB4MDMsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjEsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4N2YsIDB4YjEsIDB4NzcsCi0gICAgICAgIDB4ZmYsIDB4ZmQsIDB4ODcsIDB4ZmYsIDB4ZjAsIDB4OGYsIDB4OGYsIDB4ZjAsCi0gICAgICAgIDB4ZjAsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4OGYsIDB4N2YsIDB4ZjEsIDB4OGYsCi0gICAgICAgIDB4MmYsIDB4ODEsIDB4N2IsIDB4YWYsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4MDUsIDB4ZmYsIDB4NzgsIDB4N2YsIDB4OGYsIDB4OGYsIDB4ZjAsCi0gICAgICAgIDB4ZjAsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4N2YsIDB4ZjAsIDB4YmIsIDB4MmUsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4ODcsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4YWYsCi0gICAgICAgIDB4NzcsIDB4ZmIsIDB4ZmYsIDB4ZmMsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZWYsIDB4YWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZWYsIDB4OGYsIDB4N2YsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ODcsIDB4YmYsIDB4YjgsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZTAsIDB4ZWYsIDB4ZjcsIDB4ZjcsCi0gICAgICAgIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ODcsIDB4ZmYsIDB4YjgsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ODcsCi0gICAgICAgIDB4N2YsIDB4ODEsIDB4N2YsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ODcsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZGYsIDB4YmYsIDB4NzcsIDB4N2QsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4ZmEsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZWYsCi0gICAgICAgIDB4N2EsIDB4Y2YsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4MGYsIDB4NzEsIDB4OTEsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4YTgsIDB4ZmYsIDB4ZjIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4OWYsIDB4ZmUsIDB4ZjEsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ODcsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmEsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4N2YsIDB4OWYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4N2YsIDB4ODEsIDB4MGYsIDB4NzUsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZWEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4NmEsIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZTUsIDB4N2YsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZmEsIDB4ZmYsIDB4ZmMsIDB4ZmYsIDB4ZmMsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4YWYsIDB4N2YsIDB4ZjUsIDB4MGYsIDB4ZWYsIDB4OWYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4M2YsIDB4ZjcsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmMsCi0gICAgICAgIDB4ZWYsIDB4ZmYsIDB4MGYsIDB4N2YsIDB4ZjAsIDB4NWYsIDB4ZmYsIDB4OWYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4ZDcsIDB4N2YsIDB4ODUsCi0gICAgICAgIDB4YmYsIDB4ZmQsIDB4ZjgsIDB4Y2YsIDB4Y2QsIDB4ZjEsIDB4ZjAsIDB4ZmUsCi0gICAgICAgIDB4MWYsIDB4N2YsIDB4YjEsIDB4ZWEsIDB4YmEsIDB4ZWYsIDB4MGYsIDB4NWYsCi0gICAgICAgIDB4NzEsIDB4ZjUsIDB4Y2YsIDB4NmYsIDB4YTUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4OTAsIDB4YmUsIDB4ZjAsIDB4ZmYsCi0gICAgICAgIDB4ZDcsIDB4ZmUsIDB4NWYsIDB4ZmYsIDB4ZWYsIDB4N2YsIDB4ZmYsIDB4N2YsCi0gICAgICAgIDB4ZWUsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ODcsIDB4ZWIsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2UsIDB4ZmYsIDB4NmYsIDB4ZmYsIDB4ZmYsIDB4OWYsCi0gICAgICAgIDB4ZmYsIDB4ZDEsIDB4N2YsIDB4NzUsIDB4ZjUsCi0gICAgICAgIDB4YmYsIDB4ODAsIDB4ODgsIDB4ODgsIDB4YjAsIDB4ZjEsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4MGYsIDB4N2YsIDB4ZjksIDB4ZmUsIDB4OGYsIDB4MGYsIDB4NzEsIDB4ZjEsCi0gICAgICAgIDB4NWYsIDB4ZjUsIDB4Y2YsIDB4MGYsIDB4MDUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4Y2YsIDB4YjAsIDB4ZjEsIDB4ZGYsIDB4YmYsCi0gICAgICAgIDB4N2YsIDB4ZmEsIDB4ZmUsIDB4ZmYsIDB4OGUsIDB4N2YsIDB4NzEsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4YTEsIDB4N2YsIDB4ZjEsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4N2IsIDB4ZjcsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsCi0gICAgICAgIDB4Y2YsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjEsIDB4ZWYsIDB4N2YsCi0gICAgICAgIDB4ZWYsIDB4N2YsIDB4ZDcsIDB4ZmYsIDB4ZmIsCi0gICAgICAgIDB4ZmYsIDB4N2QsIDB4ZmYsIDB4ZWYsIDB4OWUsIDB4ZmUsIDB4ZjAsIDB4ZWYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4N2YsIDB4ZmYsIDB4ZWUsIDB4ZmYsIDB4M2YsCi0gICAgICAgIDB4ZmYsIDB4ZGIsIDB4YmYsIDB4N2YsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4ZGYsIDB4YjEsIDB4ZjEsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4N2YsIDB4ZmYsCi0gICAgICAgIDB4Y2YsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4M2YsIDB4NzgsIDB4ZjgsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsCi0gICAgICAgIDB4ZmYsIDB4MGYsIDB4MGYsIDB4ZjEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4OGEsIDB4MGUsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4OWYsCi0gICAgICAgIDB4OGYsIDB4ODAsIDB4ZjEsIDB4ZjEsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmUsIDB4YmYsIDB4OGUsIDB4MGIsIDB4NzEsCi0gICAgICAgIDB4YmYsIDB4ZTgsIDB4ZjgsIDB4ZjcsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4MDcsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4OGQsIDB4N2YsIDB4ZjEsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OWYsIDB4NmYsIDB4ZjEsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4NzEsIDB4ODcsIDB4ZmUsIDB4ZjAsIDB4OGYsIDB4OGYsIDB4ZjAsCisgICAgICAgIDB4ZmIsIDB4Y2IsIDB4ZmYsIDB4ZjAsIDB4OGYsIDB4N2YsIDB4ZjEsIDB4OGYsCisgICAgICAgIDB4MWUsIDB4ZTEsIDB4N2UsIDB4OTEsIDB4N2YsCisgICAgICAgIDB4YmYsIDB4MWEsIDB4ZmYsIDB4NzEsIDB4ZmYsIDB4OWYsIDB4OGYsIDB4ZjYsCisgICAgICAgIDB4ZjgsIDB4ZGYsIDB4ZjcsIDB4ZjQsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4MWYsIDB4ZjAsIDB4N2YsIDB4OTcsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4OTcsIDB4ZmYsIDB4ZmIsIDB4YmYsIDB4ZGYsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4ZGYsCisgICAgICAgIDB4ZjksIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZjEsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OWYsIDB4ZmMsIDB4ZmIsIDB4ZmYsIDB4ZjAsIDB4ZmUsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OWQsIDB4ZmYsIDB4ZjQsIDB4Y2YsIDB4ZmYsIDB4N2YsCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4Y2YsCisgICAgICAgIDB4ZmYsIDB4OTcsIDB4ZmYsIDB4ZmEsIDB4ZmYsIDB4OGYsIDB4ZjgsIDB4ZjAsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4MGYsCisgICAgICAgIDB4N2YsIDB4ZTEsIDB4ZmYsIDB4ZjEsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ODMsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4NmYsIDB4N2YsIDB4NzcsIDB4N2QsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4NmYsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZDcsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4ZmQsCisgICAgICAgIDB4NzgsIDB4ZWYsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4ZjUsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4MGYsIDB4NzksIDB4ZDEsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZDIsIDB4ZmYsIDB4NzIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4ZmUsIDB4NzAsIDB4OWQsIDB4ZmYsIDB4ZjQsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4MDcsIDB4ZmYsIDB4NzgsIDB4ZmYsIDB4OWYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4NzcsIDB4N2YsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4N2YsIDB4ZTEsIDB4MGYsIDB4NzEsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmQsIDB4ZmYsIDB4YmEsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4N2YsIDB4YTEsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4YmQsIDB4N2YsIDB4ZjcsIDB4ZjksIDB4ZmQsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4YmYsIDB4YjcsIDB4OGYsIDB4YWYsIDB4ZGYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NWYsIDB4ZWIsCisgICAgICAgIDB4YmYsIDB4ZmQsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4ZmIsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4Y2YsIDB4ZmIsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZGYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4N2YsIDB4YWIsCisgICAgICAgIDB4ZmYsIDB4ZmQsIDB4ZmEsIDB4YmYsIDB4OGYsIDB4YmYsIDB4Y2EsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4NmYsIDB4ZDQsIDB4ZjYsIDB4MGYsIDB4M2YsCisgICAgICAgIDB4MTEsIDB4ZjksIDB4ZmYsIDB4N2YsIDB4OGIsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4YzAsIDB4ZmIsIDB4ZjUsIDB4ZWYsCisgICAgICAgIDB4ZjcsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4N2YsIDB4ZmYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4NmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ODcsIDB4YmIsIDB4ZjgsIDB4ZmIsIDB4Y2YsIDB4ZmUsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmIsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4ZTEsIDB4N2YsIDB4N2IsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ODAsIDB4ODksIDB4ODgsIDB4YjAsIDB4ZjUsIDB4ZjAsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4ZGYsIDB4ZmUsIDB4N2MsIDB4OGYsIDB4MGYsIDB4NzEsIDB4ZTEsCisgICAgICAgIDB4ZmYsIDB4ZjEsIDB4ZTUsIDB4MGUsIDB4MmIsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4Y2YsIDB4ZjUsIDB4OWYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4NzEsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4OTEsIDB4N2YsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4N2YsIDB4Y2YsIDB4OGEsIDB4ZmYsIDB4ZjAsIDB4ZmYsCisgICAgICAgIDB4NTcsIDB4ZmUsIDB4ZmIsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4N2UsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OWEsIDB4ZmYsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4YjcsIDB4Y2UsIDB4ZmYsIDB4ZjQsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZjcsIDB4ZmIsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ZmQsIDB4ZmUsIDB4NzUsIDB4ZmQsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4Y2YsIDB4ZmYsIDB4ZjUsIDB4ZmYsIDB4ZjUsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4N2YsIDB4ZmYsCisgICAgICAgIDB4Y2YsIDB4N2YsIDB4MzEsIDB4N2YsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4NzgsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4MGYsIDB4MGYsIDB4ZjEsIDB4ZjEsIDB4ZGYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OWYsIDB4ZmYsIDB4ODQsIDB4MGUsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZjcsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4OGYsIDB4ODAsIDB4ZjEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmUsIDB4OWYsIDB4OGUsIDB4MDUsIDB4NzEsCisgICAgICAgIDB4YmYsIDB4ZjgsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZjEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmUsIDB4ZWYsIDB4ZmYsIDB4OGYsIDB4MmYsCisgICAgICAgIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MGYsCiAgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4OWYsIDB4OWYsIDB4ZjEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YWUsIDB4MGYsIDB4NzEsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsCi0gICAgICAgIDB4ZjAsIDB4ZmYsIDB4ZWYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZWYsCi0gICAgICAgIDB4N2YsIDB4ZjgsIDB4ZWYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4ZWYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGIsIDB4N2UsCisgICAgICAgIDB4OGYsIDB4OGYsIDB4ZjEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4MGYsIDB4NzEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsCisgICAgICAgIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OWYsIDB4ZmYsIDB4OGYsIDB4N2UsCiAgICAgICAgIDB4YmYsIDB4ZmYsIDB4NzgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4OWYsIDB4ZmYsIDB4ZjAsIDB4ZmUsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ODcsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4N2YsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZjAsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4ZWYsIDB4ZTAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsCi0gICAgICAgIDB4M2YsIDB4ZWYsIDB4ZjgsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4NzAsIDB4OWYsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4MWYsIDB4ZWYsIDB4NzAsIDB4ZmYsIDB4OGUsIDB4N2UsCi0gICAgICAgIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGUsCi0gICAgICAgIDB4ZmYsIDB4ODIsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4YWYsIDB4NmYsIDB4ODAsIDB4ZmYsIDB4ZjEsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4OGYsIDB4NWYsCi0gICAgICAgIDB4ZmYsIDB4ODAsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4NmYsIDB4OWYsIDB4ZmYsIDB4ODEsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4NWYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4N2UsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4OGYsIDB4NmYsIDB4OTAsCi0gICAgICAgIDB4ZjUsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWUsIDB4OGUsCi0gICAgICAgIDB4MGYsIDB4MTEsIDB4NzEsIDB4ZjEsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ODcsIDB4ZjgsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ZjAsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4N2QsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4OWYsIDB4N2UsIDB4ZjEsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4MGYsIDB4OWYsIDB4ZjAsIDB4OWEsIDB4ZmYsIDB4ZjIsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4MGYsIDB4M2YsIDB4ZjEsIDB4OWIsCi0gICAgICAgIDB4N2YsIDB4ZjEsIDB4ZmUsIDB4ZWYsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4NmQsIDB4OWEsIDB4ZmYsIDB4ZmEsIDB4OGYsIDB4ZWYsCi0gICAgICAgIDB4MDAsIDB4ZmYsIDB4OTAsIDB4ZmYsIDB4YTUsIDB4ZGYsIDB4N2IsIDB4ZjUsCi0gICAgICAgIDB4OGYsIDB4NmYsIDB4ODEsIDB4N2UsIDB4OTEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OTcsIDB4MTUsIDB4NzAsIDB4ZTAsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4N2YsIDB4ZmQsIDB4NWYsIDB4NzUsIDB4YjUsIDB4Y2YsCi0gICAgICAgIDB4N2IsIDB4ZjUsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4M2YsIDB4ZmYsIDB4ZmIsIDB4OWQsIDB4ZjcsIDB4ZTgsIDB4OWYsIDB4OGYsCi0gICAgICAgIDB4NzAsIDB4NzAsIDB4NzcsIDB4OGYsIDB4ZjUsIDB4Y2EsIDB4N2YsIDB4ZjUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4Y2UsCi0gICAgICAgIDB4ZmYsIDB4ZmEsIDB4ZjcsIDB4OWYsIDB4ZmYsIDB4OTIsIDB4ZmQsIDB4ZjgsCi0gICAgICAgIDB4OWYsIDB4OWYsIDB4NzcsIDB4ZjAsIDB4N2YsIDB4YjEsIDB4ZmYsIDB4YmIsCi0gICAgICAgIDB4N2UsIDB4ZjEsIDB4ZmYsIDB4OGYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4NjcsIDB4ZmYsIDB4OGQsIDB4OWYsIDB4ZjAsIDB4ZjAsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4ZjcsIDB4N2YsIDB4YWYsIDB4YmYsIDB4YWIsIDB4ZmIsCi0gICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ODcsIDB4NzcsIDB4OWUsIDB4ZWYsIDB4ZmEsIDB4ZmYsIDB4ZmQsCi0gICAgICAgIDB4NzcsIDB4N2YsIDB4ZjcsIDB4OGYsIDB4ZmYsIDB4YjEsIDB4ZWYsIDB4ZmIsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4NjcsIDB4ZWYsIDB4ODUsIDB4OWYsIDB4ZjIsIDB4ZjgsCi0gICAgICAgIDB4M2YsIDB4ZjcsIDB4ZmYsIDB4ZGYsIDB4ZWYsIDB4ZmYsIDB4MWYsIDB4N2YsCi0gICAgICAgIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4MDcsIDB4OWYsIDB4ZTIsIDB4ZmEsIDB4ZjcsIDB4ZjcsCi0gICAgICAgIDB4ZTcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4MWYsIDB4ZjEsIDB4YTksCi0gICAgICAgIDB4ZmYsIDB4ZGIsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4OTcsIDB4N2YsIDB4ZmEsIDB4ZmYsIDB4ZmYsIDB4ZjcsCi0gICAgICAgIDB4MWYsIDB4ZmYsIDB4ZjAsIDB4N2YsIDB4ZGYsIDB4N2YsIDB4YmQsIDB4ZmUsCi0gICAgICAgIDB4ZjMsIDB4ZjYsIDB4YmYsIDB4ZGYsIDB4ZmIsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4MWYsIDB4ZmYsIDB4OTAsIDB4OTUsIDB4OGEsIDB4OTAsCi0gICAgICAgIDB4ZjAsIDB4OTcsIDB4NzcsIDB4NzAsIDB4NGYsIDB4MWYsIDB4NDUsIDB4NzIsCi0gICAgICAgIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4N2YsCi0gICAgICAgIDB4YmYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZjUsIDB4ZjcsIDB4ZmQsIDB4ZmYsCi0gICAgICAgIDB4NzcsIDB4ZmYsIDB4OWYsIDB4ZWYsIDB4ZjAsIDB4YmYsIDB4N2YsIDB4ZGEsCi0gICAgICAgIDB4YmYsIDB4ZjYsIDB4ZmIsIDB4ZmYsIDB4YWYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4N2YsIDB4OWEsIDB4ZmYsIDB4OTAsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4NmYsIDB4ZmYsIDB4ZmYsIDB4OWUsIDB4ZmYsIDB4OTksIDB4NzcsCi0gICAgICAgIDB4ZjEsIDB4ZmUsIDB4ZmYsIDB4ZWUsIDB4ZWYsCi0gICAgICAgIDB4N2YsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZTcsIDB4ZWYsIDB4ZjcsIDB4OGYsCi0gICAgICAgIDB4YTcsIDB4NzAsIDB4ZTIsIDB4NmYsIDB4ZWYsIDB4ZmYsIDB4MjcsIDB4ZmYsCi0gICAgICAgIDB4ZjMsIDB4ZmYsIDB4ZWYsIDB4ZmUsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NmYsIDB4ZjUsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2UsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YjcsIDB4ZmYsCi0gICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4M2YsIDB4NzgsIDB4ZjgsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsCi0gICAgICAgIDB4ZmYsIDB4MGYsIDB4MWYsIDB4ZTEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZGYsIDB4ZWYsIDB4ZmYsIDB4ODAsIDB4MGUsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4NmYsIDB4ZWYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4OWYsCi0gICAgICAgIDB4OWYsIDB4ODgsIDB4ZTEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZGUsIDB4OGYsIDB4MGUsIDB4MDksIDB4NzEsCi0gICAgICAgIDB4YmYsIDB4ZTgsIDB4ZjgsIDB4ZjcsIDB4NzcsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OWYsIDB4OWYsIDB4ZjEsIDB4ZTEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4M2YsCiAgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4OWYsIDB4OWYsIDB4ZjksIDB4ZjksIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmUsIDB4MGYsIDB4NjEsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZDcsIDB4ZmYsIDB4ZmYsIDB4ZGYsCi0gICAgICAgIDB4ZmYsIDB4ZjMsIDB4NmYsIDB4ZmIsIDB4ZWYsIDB4ZmYsIDB4OGYsIDB4ZmYsCi0gICAgICAgIDB4ZTAsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZjcsIDB4ZjcsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4OGYsIDB4NzcsIDB4ZTgsIDB4ZmYsIDB4ZWYsCi0gICAgICAgIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZjcsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZWYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZTAsIDB4ZTcsIDB4ZmYsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4ZGYsIDB4Y2YsIDB4ZmYsIDB4ODEsIDB4N2UsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4NzgsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4OWYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZDcsIDB4ZmUsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4MGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4N2YsIDB4N2YsIDB4ZmYsCi0gICAgICAgIDB4OWYsIDB4ZmYsIDB4ZTAsIDB4OWYsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4OGUsIDB4NmYsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZjcsIDB4ZjcsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4OGUsIDB4NmYsCi0gICAgICAgIDB4M2YsIDB4ZTcsIDB4ZmMsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4Y2YsCi0gICAgICAgIDB4ZWYsIDB4ZmMsIDB4MWYsIDB4ZWYsIDB4NzgsIDB4ZjcsIDB4OGYsIDB4N2UsCi0gICAgICAgIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4OTYsCi0gICAgICAgIDB4ZmYsIDB4ODAsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZWYsIDB4OGYsIDB4N2YsIDB4ODAsIDB4ZjcsIDB4ZjEsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4OWYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ODAsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4OGYsIDB4ZjcsIDB4OTksIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4YmYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4NzcsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4MGYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4YjcsIDB4N2UsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZjcsIDB4ZWYsIDB4MGYsIDB4OGYsIDB4OTAsCi0gICAgICAgIDB4ZjcsIDB4ZTAsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4OGUsCi0gICAgICAgIDB4NGYsIDB4OTksIDB4NzEsIDB4ZTEsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4M2YsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4ZjAsIDB4MGYsIDB4ZmYsIDB4NzAsIDB4ZmYsIDB4OGYsIDB4N2UsCisgICAgICAgIDB4ZjEsIDB4ZGYsIDB4ZmYsIDB4ZmIsIDB4OGUsCisgICAgICAgIDB4ZmYsIDB4ODAsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4YWYsIDB4N2YsIDB4ODQsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ODAsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4OGYsIDB4ZmYsIDB4ODEsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZGYsIDB4ZGYsIDB4ZmYsIDB4ZGYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MGYsIDB4ZmYsIDB4ODAsCisgICAgICAgIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZGYsIDB4OGUsCisgICAgICAgIDB4MGYsIDB4MDEsIDB4NzEsIDB4ZjEsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZGYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4YmYsIDB4ODcsIDB4ZjgsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZDAsIDB4ZjAsIDB4ZGYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmQsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmQsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmQsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YWYsIDB4ZmUsIDB4ZjUsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4MGYsIDB4OGYsIDB4ZjAsIDB4ODAsIDB4ZmYsIDB4ZjAsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MWYsIDB4YWYsIDB4NzEsIDB4YTcsCisgICAgICAgIDB4NmYsIDB4ZjUsIDB4ZmUsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4NzcsIDB4NzksIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4OGYsIDB4ZmYsCisgICAgICAgIDB4MDAsIDB4ZmYsIDB4ZDAsIDB4NGYsIDB4M2QsIDB4ZjAsIDB4ZjcsIDB4ZmQsCisgICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4N2YsIDB4ZDEsCisgICAgICAgIDB4ZmYsIDB4Y2QsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MGYsIDB4NzAsIDB4ZjAsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZGIsIDB4OGQsIDB4NGIsCisgICAgICAgIDB4NzMsIDB4ZjksIDB4ZmYsIDB4ZGYsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4ZmMsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjIsIDB4OGYsIDB4OGYsCisgICAgICAgIDB4NzAsIDB4N2EsIDB4M2YsIDB4YmMsIDB4ZjcsIDB4ZGIsIDB4ZmYsIDB4ZjksCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWUsCisgICAgICAgIDB4ZmYsIDB4ZTgsIDB4ZjcsIDB4OGYsIDB4ZmQsIDB4ODAsIDB4ZmYsIDB4ZjAsCisgICAgICAgIDB4OWYsIDB4YTUsIDB4N2EsIDB4ZjQsIDB4NmYsIDB4M2YsIDB4Y2YsIDB4MDcsCisgICAgICAgIDB4NmEsIDB4ZTEsIDB4ZmYsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4NzcsIDB4ZjEsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ZjAsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4ZTcsIDB4N2YsIDB4OGYsIDB4MjQsIDB4MDMsIDB4NzcsCisgICAgICAgIDB4ZjMsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4OWYsIDB4NzcsIDB4OGIsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4N2QsIDB4N2YsIDB4ZmYsIDB4OWYsIDB4ZWIsIDB4M2QsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZmIsIDB4ZmUsIDB4ZmYsIDB4ZGYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4NzcsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ZjAsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmIsIDB4NWQsCisgICAgICAgIDB4ZjUsIDB4YmIsIDB4ZWYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ZjgsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4YmYsIDB4NzUsIDB4YjcsCiAgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ODcsIDB4ZTgsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ODcsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZjcsIDB4ZjcsCisgICAgICAgIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4N2YsIDB4ZjcsIDB4ZmYsIDB4YWQsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4ZWUsIDB4OWYsIDB4ZmYsIDB4ZjUsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4MDcsIDB4ZmYsIDB4ODAsIDB4OGYsIDB4ODAsIDB4ODAsCisgICAgICAgIDB4ZjAsIDB4OGYsIDB4N2YsIDB4NzAsIDB4NGYsIDB4MGYsIDB4NzksIDB4ZjEsCisgICAgICAgIDB4ZmQsIDB4ZmYsIDB4ZWYsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4YmYsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZDAsIDB4YmYsIDB4ZGIsIDB4ZTUsCisgICAgICAgIDB4M2IsIDB4ZmUsIDB4ZjcsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4NzcsIDB4ODAsIDB4ZmYsIDB4ZjAsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4YmQsIDB4ZWYsIDB4MDcsIDB4N2YsCisgICAgICAgIDB4ZjEsIDB4ZmUsIDB4ZmYsIDB4ZmUsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4N2YsIDB4ZmYsIDB4ZjcsIDB4ZjcsIDB4ZmYsIDB4ZjcsIDB4OGYsCisgICAgICAgIDB4YmYsIDB4NzAsIDB4ZjUsIDB4N2YsIDB4ZmYsIDB4ZWYsIDB4M2YsIDB4N2QsCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4OTcsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2UsIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4ZGYsIDB4ZjcsIDB4M2IsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4N2YsIDB4ZmUsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4NzgsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4MWYsIDB4MWYsIDB4ZjEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ODAsIDB4MGUsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4OWYsIDB4ODAsIDB4ZTEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZmUsIDB4OWYsIDB4MGUsIDB4MDEsIDB4NzEsCisgICAgICAgIDB4YmYsIDB4ZjgsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZjEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4ZmUsIDB4ZWYsIDB4ZmYsIDB4OGYsIDB4MGYsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OWYsIDB4OGYsIDB4ZjEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4MGYsIDB4NzEsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmUsIDB4ZWYsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsCisgICAgICAgIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4N2YsIDB4ZTAsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2UsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4NzgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZWYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWUsIDB4ZWYsIDB4OWYsCisgICAgICAgIDB4ZmYsIDB4MDcsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4OGYsIDB4ZmYsIDB4ZTAsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4OGUsIDB4N2YsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmUsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4M2YsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZGYsCisgICAgICAgIDB4ZmYsIDB4ZjAsIDB4MGYsIDB4ZmYsIDB4NzAsIDB4ZmYsIDB4OGYsIDB4N2UsCisgICAgICAgIDB4ZTEsIDB4ZGYsIDB4ZmYsIDB4ZjcsIDB4OGUsCisgICAgICAgIDB4ZmYsIDB4ODAsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ODAsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZmUsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ODAsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4OGYsIDB4ZmYsIDB4ODEsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4MWYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2UsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4MGYsIDB4OGYsIDB4ODAsCisgICAgICAgIDB4ZjcsIDB4ZTAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OWUsCisgICAgICAgIDB4NmYsIDB4OTEsIDB4NzEsIDB4ZjEsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ODcsIDB4ZjgsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ZjAsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZDcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmUsIDB4ZjksIDB4ZGYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4YmYsIDB4ZjcsIDB4OWYsIDB4ZjgsIDB4ZjAsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4NzcsIDB4ZmYsIDB4MGUsIDB4MWYsIDB4NjEsIDB4ODEsCisgICAgICAgIDB4N2YsIDB4ZjEsIDB4ZmUsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4YjksIDB4Y2YsIDB4ZmYsIDB4ZmYsIDB4MGYsIDB4ZmYsCisgICAgICAgIDB4MDAsIDB4ZmYsIDB4ZDAsIDB4N2YsIDB4NzUsIDB4OGIsIDB4N2YsIDB4ZjEsCisgICAgICAgIDB4OGYsIDB4N2YsIDB4ODAsIDB4N2UsIDB4OTEsCisgICAgICAgIDB4ZmYsIDB4YmYsIDB4ZGYsIDB4ZmYsIDB4YTcsIDB4NDcsIDB4NzAsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MGYsCisgICAgICAgIDB4NjEsIDB4ZjEsIDB4ZWYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmUsIDB4ZWYsIDB4NWYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZTcsIDB4YjcsIDB4ZmMsIDB4ZWIsIDB4OWYsIDB4N2YsIDB4ZjEsCisgICAgICAgIDB4OWYsIDB4MGYsIDB4NzEsIDB4ZjEsIDB4ZWUsCisgICAgICAgIDB4ZmYsIDB4ZjAsIDB4ZjcsIDB4M2YsIDB4ZWYsIDB4OTcsIDB4ZjgsIDB4ZTgsCisgICAgICAgIDB4ZmYsIDB4OWYsIDB4N2YsIDB4ZjAsIDB4N2YsIDB4OWYsIDB4NmYsIDB4OTEsCisgICAgICAgIDB4N2UsIDB4ZjEsIDB4OWYsIDB4OGYsIDB4NTcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4MjYsIDB4YjksIDB4YjgsIDB4ZmYsIDB4ZjAsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4N2YsIDB4NmYsIDB4ZjQsIDB4OWYsIDB4MWYsCisgICAgICAgIDB4NzEsIDB4ZTEsIDB4ZmUsIDB4N2YsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4NzEsIDB4YmIsIDB4ZTgsIDB4ZmYsIDB4ZmYsIDB4ZjgsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4ZjgsIDB4OWQsIDB4NmYsIDB4ZjEsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4YjcsIDB4ZmYsIDB4YmQsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4OTcsIDB4YzcsIDB4ZjcsIDB4ZjAsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OTMsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4Y2YsIDB4NWYsCisgICAgICAgIDB4ZjEsIDB4ZjcsIDB4ZGYsIDB4ZjUsIDB4OWYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ODcsIDB4YmYsIDB4ZTAsIDB4YmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4NWYsIDB4MjEsIDB4YjEsCisgICAgICAgIDB4ZmYsIDB4NmQsIDB4ZmYsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZDcsIDB4ZmYsIDB4YjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4ZWYsIDB4ZjAsIDB4N2YsIDB4ZDcsIDB4N2YsIDB4ZjEsIDB4ZmYsCisgICAgICAgIDB4ZWYsIDB4ZWUsIDB4YmYsIDB4N2YsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4NDcsIDB4MGYsIDB4YzcsIDB4ZjAsIDB4N2YsIDB4ZjAsCisgICAgICAgIDB4ZjAsIDB4OTAsIDB4N2YsIDB4NzAsIDB4OGYsIDB4MmYsIDB4YzEsIDB4MGYsCisgICAgICAgIDB4MTEsIDB4MWYsIDB4ZWYsIDB4YWYsIDB4N2YsCisgICAgICAgIDB4YmYsIDB4N2YsIDB4ZjAsIDB4OWYsIDB4ZTcsIDB4ZjcsIDB4MzgsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4YWYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ZmUsIDB4ZmQsIDB4ZGYsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZjcsIDB4OGYsIDB4ZmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZWIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGQsIDB4M2YsIDB4ODEsIDB4N2YsCisgICAgICAgIDB4ZDEsIDB4ZmUsIDB4ZGYsIDB4ZmUsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4YTgsIDB4ZmYsIDB4ZjAsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjAsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZWYsCisgICAgICAgIDB4ZWYsIDB4OWYsIDB4N2YsIDB4N2UsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4YTcsIDB4NzcsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZTcsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4NzgsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmYsCisgICAgICAgIDB4ZmYsIDB4MGYsIDB4MGYsIDB4ZjEsIDB4ZTEsIDB4ZmYsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4MGUsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4OGYsIDB4ODAsIDB4ZjEsIDB4ZjEsIDB4ZWYsIDB4YWYsIDB4YWYsIDB4ZmYsCisgICAgICAgIDB4ZWUsIDB4ZGYsIDB4MGUsIDB4MDEsIDB4NzEsCisgICAgICAgIDB4YmYsIDB4ZjgsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZWYsIDB4OGYsIDB4OWYsIDB4ZjEsIDB4ZTEsIDB4ZmYsIDB4YWYsIDB4ZWYsCisgICAgICAgIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MGYsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OWYsIDB4OWYsIDB4ZjEsIDB4ZjEsIDB4ZWYsIDB4ZmYsIDB4YWYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4MGYsIDB4NzEsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4YmYsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZWYsIDB4YmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsCisgICAgICAgIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4ZmUsCisgICAgICAgIDB4Y2YsIDB4M2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmYsCisgICAgICAgIDB4ZmYsIDB4ODgsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4NmUsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4NzgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZTAsIDB4ZmYsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWUsIDB4ZWYsIDB4OWYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4OGYsIDB4ZmYsIDB4YTAsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4YmYsIDB4OGUsIDB4NmYsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4NmYsCisgICAgICAgIDB4M2YsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4Y2YsCisgICAgICAgIDB4ZmYsIDB4YjAsIDB4MGYsIDB4YWYsIDB4NzAsIDB4ZmYsIDB4OGYsIDB4N2UsCisgICAgICAgIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZjEsIDB4OWUsCisgICAgICAgIDB4ZmYsIDB4ODAsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZWYsIDB4OGYsIDB4N2YsIDB4OTAsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4YWYsIDB4ZmUsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ODAsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4ZGYsIDB4ZmYsIDB4ODEsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OWYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4N2UsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4MGYsIDB4YWYsIDB4ODAsCisgICAgICAgIDB4ZjAsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGUsCisgICAgICAgIDB4MGYsIDB4OTEsIDB4N2YsIDB4ZjEsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjMsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4ZmIsCisgICAgICAgIDB4YmYsIDB4ODcsIDB4ZjgsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZGYsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ZjAsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4YmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4YWYsIDB4ZmYsCisgICAgICAgIDB4ZjAsIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZmYsCisgICAgICAgIDB4ZGYsIDB4ZmUsIDB4ZmUsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4MGYsIDB4OGYsIDB4ZjAsIDB4OGYsIDB4ZmYsIDB4ZjAsCisgICAgICAgIDB4ZjksIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4MGYsIDB4NWYsIDB4MjksIDB4ODksCisgICAgICAgIDB4NzcsIDB4ZjEsIDB4ZmEsIDB4ZmYsIDB4ZGUsCisgICAgICAgIDB4ZmYsIDB4YzMsIDB4M2YsIDB4NGIsIDB4N2YsIDB4ZTksIDB4MGYsIDB4ZmYsCisgICAgICAgIDB4MDAsIDB4ZmYsIDB4OTAsIDB4MGYsIDB4ZDcsIDB4ZmYsIDB4N2YsIDB4ZjksCisgICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4N2YsIDB4ODEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4N2QsIDB4ODAsIDB4NDYsIDB4NzYsIDB4ZjAsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4NmYsIDB4ZmYsIDB4ZmYsIDB4YWQsIDB4Y2YsIDB4M2YsCisgICAgICAgIDB4NzEsIDB4ZjksIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4YmEsIDB4ZmYsIDB4YzcsIDB4ZjcsIDB4YjksIDB4Y2YsIDB4ZGUsCisgICAgICAgIDB4NzcsIDB4YjcsIDB4NzcsIDB4ZmUsIDB4ZmYsIDB4YmYsIDB4NmYsIDB4ZjksCisgICAgICAgIDB4ZmYsIDB4N2UsIDB4NzksIDB4YjksIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZTQsIDB4ZjcsIDB4OGYsIDB4ZmUsIDB4MDcsIDB4ZmUsIDB4ZjgsCisgICAgICAgIDB4ZmYsIDB4ODksIDB4N2YsIDB4ZTgsIDB4N2YsIDB4ZDcsIDB4N2YsIDB4OTksCisgICAgICAgIDB4NzYsIDB4ZjEsIDB4ZmYsIDB4MGYsIDB4N2IsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4YjYsIDB4YjksIDB4OGYsIDB4ZGYsIDB4ZjYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZGQsIDB4ODcsIDB4N2YsCisgICAgICAgIDB4NzEsIDB4ZjEsIDB4ZmUsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZjEsIDB4OGEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4Y2YsIDB4ZmIsIDB4ZTgsIDB4OWQsIDB4NzcsIDB4YTksCisgICAgICAgIDB4ZmYsIDB4NzcsIDB4ZGEsIDB4N2YsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4ZjcsIDB4ZjcsIDB4ODYsIDB4ZTUsIDB4ZjAsIDB4ZTAsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4YmQsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ODYsIDB4OGYsIDB4ZjAsIDB4ZmYsIDB4ZjYsIDB4OWYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4MWYsIDB4NzEsIDB4ZGQsCisgICAgICAgIDB4N2YsIDB4ZTEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4YzcsIDB4ZjcsIDB4YjksIDB4ZmYsIDB4ZmYsIDB4ZmEsCisgICAgICAgIDB4M2YsIDB4ZWYsIDB4ZjAsIDB4ZmYsIDB4ZWYsIDB4N2YsIDB4ZDUsIDB4ZmYsCisgICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZjcsIDB4NmUsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZmMsIDB4YzcsIDB4YmYsIDB4YzgsIDB4YzAsIDB4NTksIDB4ZmYsCisgICAgICAgIDB4ZGYsIDB4ZmYsIDB4N2IsIDB4ZjAsIDB4YTcsIDB4MWYsIDB4YTksIDB4NzcsCisgICAgICAgIDB4NzksIDB4NzEsIDB4MTEsIDB4ZmYsIDB4NzksCisgICAgICAgIDB4YmYsIDB4ZmIsIDB4NzAsIDB4YmYsIDB4ZmYsIDB4ZjksIDB4MzcsIDB4YmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjQsIDB4OWYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZDcsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4YWYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OWUsIDB4ZjcsIDB4OWYsIDB4ZmUsIDB4ZTQsIDB4ZmYsCisgICAgICAgIDB4Y2YsIDB4Y2YsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4N2YsIDB4OGQsIDB4N2YsCisgICAgICAgIDB4ZjksIDB4ZmEsIDB4ZGYsIDB4OWYsIDB4ZWYsCisgICAgICAgIDB4N2YsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4YmUsIDB4ZmQsIDB4ZDIsIDB4ZGYsCisgICAgICAgIDB4ZmYsIDB4N2UsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4YWIsIDB4OTcsIDB4ZWYsCisgICAgICAgIDB4ZjMsIDB4ZmUsIDB4N2YsIDB4NzEsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4OWYsIDB4ZmYsIDB4ZmYsIDB4YjYsIDB4ZmIsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4YjcsIDB4ZGIsIDB4ZmYsCisgICAgICAgIDB4YmIsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4NjgsIDB4ZmUsIDB4ZmQsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4ZjEsIDB4MWUsIDB4MWIsIDB4ZjEsIDB4ZjUsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OWYsIDB4ZmIsIDB4OWEsIDB4MzYsCisgICAgICAgIDB4ZmYsIDB4ZmMsIDB4N2QsIDB4ZmYsIDB4NzMsIDB4ZjcsIDB4ZmYsIDB4YWYsCisgICAgICAgIDB4OWYsIDB4OTQsIDB4ZmQsIDB4ZjUsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmIsCisgICAgICAgIDB4ZmUsIDB4ZWYsIDB4M2UsIDB4MDcsIDB4NGQsCisgICAgICAgIDB4YmYsIDB4ZTgsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZjcsIDB4ZjcsCisgICAgICAgIDB4ZjEsIDB4OGYsIDB4YWYsIDB4ZDEsIDB4ZjcsIDB4ZjksIDB4ZmQsIDB4ZmYsCisgICAgICAgIDB4ZjgsIDB4ZGYsIDB4ZmIsIDB4OGYsIDB4MmYsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4ZjcsIDB4ZjcsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YTcsIDB4YWYsIDB4ZjcsIDB4ZjMsIDB4ZGYsIDB4ZmYsIDB4ZmQsIDB4ZmYsCisgICAgICAgIDB4ZmQsIDB4ZmYsIDB4YWUsIDB4MGYsIDB4NzEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjksIDB4ZmYsIDB4ZmYsIDB4ZjMsIDB4ZjMsCisgICAgICAgIDB4ZmYsIDB4ZjMsIDB4ZmYsIDB4ZjcsIDB4ZmIsIDB4ZjMsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZWIsIDB4ZmYsIDB4ZjMsIDB4ZGIsCisgICAgICAgIDB4ZmYsIDB4ZWIsIDB4N2IsIDB4ZmIsIDB4ZjcsIDB4ZmYsIDB4OGIsIDB4ZjcsCisgICAgICAgIDB4ZmMsIDB4ZjcsIDB4ZmIsIDB4ZmYsIDB4ZmIsIDB4ZjMsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGIsIDB4N2YsIDB4ZDQsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZWMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4OGUsIDB4ZmYsIDB4ZjgsIDB4ZjcsIDB4ZmIsIDB4ZmQsIDB4ZmYsCisgICAgICAgIDB4ZmQsIDB4OWYsIDB4ZjcsIDB4OWYsIDB4N2UsCisgICAgICAgIDB4YmYsIDB4ZmIsIDB4N2MsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmIsCisgICAgICAgIDB4ZmIsIDB4ZjEsIDB4OGYsIDB4ZjMsIDB4ZGMsIDB4ZjcsIDB4ZmQsIDB4ZmYsCisgICAgICAgIDB4ZTksIDB4ZWIsIDB4ZWYsIDB4YzMsIDB4YjcsCisgICAgICAgIDB4ZmYsIDB4MDcsIDB4ZmYsIDB4ZmMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4OGYsIDB4ZmYsIDB4ZjQsIDB4OGYsIDB4ZmIsIDB4ZmMsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4OGYsIDB4N2YsIDB4ZDEsCisgICAgICAgIDB4ZmYsIDB4ZmEsIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZjMsIDB4ODksIDB4ZWYsIDB4ZjgsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4ZWYsIDB4ZjcsIDB4ZjMsIDB4YWIsIDB4N2YsCisgICAgICAgIDB4M2YsIDB4ZjksIDB4N2UsIDB4ZjksIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZmMsIDB4MWIsIDB4ZmYsIDB4N2MsIDB4ZmYsIDB4OGYsIDB4NmUsCisgICAgICAgIDB4ZjEsIDB4ZjcsIDB4NzMsIDB4ZmYsIDB4YTYsCisgICAgICAgIDB4ZmYsIDB4ODAsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZjksIDB4OGYsIDB4N2YsIDB4ODQsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmEsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4OTYsIDB4ZmYsIDB4ZmMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4NTcsIDB4YWYsIDB4ZmIsIDB4ODUsIDB4N2YsIDB4ZjQsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4YmYsIDB4NTMsCisgICAgICAgIDB4ZmYsIDB4N2QsIDB4ZmYsIDB4ZmYsIDB4ZTMsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OTcsIDB4NzEsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGIsIDB4ZWYsCisgICAgICAgIDB4ZWYsIDB4ZTcsIDB4OTcsIDB4NzIsIDB4ZmQsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjMsIDB4MGYsIDB4ZTMsIDB4ODYsCisgICAgICAgIDB4ZjAsIDB4ZjQsIDB4ZmIsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmIsIDB4OGUsCisgICAgICAgIDB4MGIsIDB4YTUsIDB4NzIsIDB4ZjksIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZjMsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZjMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZWUsCisgICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ODIsIDB4ZjgsIDB4ZjgsIDB4ZjcsIDB4N2YsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ODcsIDB4ODcsIDB4ZjAsIDB4ZjAsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZmIsIDB4ZjcsIDB4ZWYsIDB4ZWYsIDB4ODcsCisgICAgICAgIDB4ZmYsIDB4ZjYsIDB4ZmYsIDB4ZmEsIDB4ZjEsIDB4ZWYsIDB4ZjMsIDB4ZjcsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmIsIDB4ZjcsIDB4ZmYsIDB4ZmUsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmIsIDB4ZjIsIDB4ZjMsIDB4ZmYsIDB4ZjEsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZjcsIDB4ZWYsIDB4ZjcsIDB4ZjcsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZTcsCisgICAgICAgIDB4ZmYsIDB4ZmIsIDB4ZmIsIDB4ZmYsIDB4ZjUsIDB4ZWYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4NzcsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZWYsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZWYsIDB4ZTUsIDB4ZmYsCisgICAgICAgIDB4ZmUsIDB4NjEsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OWYsIDB4ZWYsIDB4ZWYsIDB4ZjMsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4MGYsIDB4OWYsIDB4ZmEsIDB4ODcsIDB4ZmYsIDB4ZjYsCisgICAgICAgIDB4ZWIsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4MGYsIDB4NmYsIDB4ZmQsIDB4MGQsCisgICAgICAgIDB4NTMsIDB4ZjEsIDB4ZjMsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4MWIsIDB4N2YsIDB4OTYsIDB4ZmUsIDB4ZmYsIDB4OGYsIDB4ZmIsCisgICAgICAgIDB4MDAsIDB4ZmYsIDB4YjAsIDB4MTcsIDB4N2MsIDB4OGYsIDB4ZmYsIDB4ZmQsCisgICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4N2UsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZmQsIDB4ZWQsIDB4ZWUsIDB4OWUsIDB4MGIsIDB4NzksIDB4ZmYsCisgICAgICAgIDB4ZmIsIDB4NzcsIDB4NWIsIDB4ZmYsIDB4OWYsIDB4ZmYsIDB4NGYsIDB4MGYsCisgICAgICAgIDB4NzEsIDB4ZjAsIDB4ZGIsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4N2YsIDB4ZTcsIDB4ZWYsIDB4MTgsIDB4ZmYsIDB4ZmYsIDB4OWQsIDB4OGUsCisgICAgICAgIDB4NjcsIDB4YmYsIDB4NGYsIDB4ZmYsIDB4ZmYsIDB4YWUsIDB4ZmYsIDB4ZjEsCisgICAgICAgIDB4ZWIsIDB4ZWYsIDB4ZmQsIDB4YWQsIDB4ZjYsCisgICAgICAgIDB4ZmYsIDB4ZmMsIDB4ZjcsIDB4MWYsIDB4ZmYsIDB4OWYsIDB4ZmIsIDB4ZmMsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4NzcsIDB4ZWMsIDB4NWYsIDB4NmYsIDB4ZGYsIDB4MjUsCisgICAgICAgIDB4N2UsIDB4ZDksIDB4ZTYsIDB4OTcsIDB4M2YsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4NjcsIDB4ZWMsIDB4OTIsIDB4YmUsIDB4ZjEsIDB4ZmIsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZGYsIDB4N2IsIDB4NWUsIDB4N2QsIDB4ZTcsIDB4NWYsCisgICAgICAgIDB4ZjEsIDB4ZjEsIDB4ZmIsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4YmYsIDB4ZjcsIDB4NzEsIDB4OWEsIDB4ZmQsIDB4ZmYsIDB4ZjcsIDB4ZmIsCisgICAgICAgIDB4NWYsIDB4N2YsIDB4YWYsIDB4ZGYsIDB4ZjksIDB4ZTcsIDB4NzcsIDB4ZGQsCisgICAgICAgIDB4NmYsIDB4ZjcsIDB4YmIsIDB4ZmYsIDB4OGIsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4NzcsIDB4ZmYsIDB4OTMsIDB4ZmUsIDB4ZjgsIDB4ZmUsCisgICAgICAgIDB4YmYsIDB4ZmUsIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4YWIsIDB4N2YsCisgICAgICAgIDB4ZmQsIDB4ZmYsIDB4Y2YsIDB4NjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4MDcsIDB4OWYsIDB4ZTQsIDB4ZGIsIDB4ZmYsIDB4ZjEsCisgICAgICAgIDB4ZjcsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4NmYsIDB4ZDEsIDB4NmQsCisgICAgICAgIDB4NzMsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4NmYsIDB4OWYsIDB4N2IsIDB4ZmQsIDB4ZmYsIDB4ZjYsIDB4ZmQsCisgICAgICAgIDB4MjcsIDB4ZmYsIDB4ZmMsIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4ZmQsIDB4ZmUsCisgICAgICAgIDB4N2YsIDB4ZGYsIDB4ZmYsIDB4N2YsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZmUsIDB4ODEsIDB4ZTcsIDB4OTMsIDB4OTEsIDB4ODMsIDB4ODUsCisgICAgICAgIDB4ZWYsIDB4OGYsIDB4N2YsIDB4NzQsIDB4OGQsIDB4MWIsIDB4MmQsIDB4ZTIsCisgICAgICAgIDB4Y2QsIDB4ZTUsIDB4YjUsIDB4OWYsIDB4NzcsCisgICAgICAgIDB4YmYsIDB4N2YsIDB4ZTQsIDB4ZWYsIDB4ZmYsIDB4ZjcsIDB4ZGIsIDB4ZmQsCisgICAgICAgIDB4N2YsIDB4ZmUsIDB4YWIsIDB4N2YsIDB4ZmMsIDB4YmYsIDB4ZmYsIDB4ZGUsCisgICAgICAgIDB4NzcsIDB4ZmIsIDB4ZGYsIDB4ZWYsIDB4YmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4MWUsIDB4N2YsIDB4OGYsIDB4ZmYsIDB4OTIsIDB4ZjMsCisgICAgICAgIDB4ZGYsIDB4N2IsIDB4ZmYsIDB4N2IsIDB4ZmYsIDB4ZGIsIDB4M2QsIDB4NWYsCisgICAgICAgIDB4ZjksIDB4ZjYsIDB4ZmYsIDB4ZjIsIDB4ZjcsCisgICAgICAgIDB4N2YsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZDIsIDB4ZjAsIDB4YjcsCisgICAgICAgIDB4ZmIsIDB4N2YsIDB4ZmMsIDB4NzcsIDB4ZDcsIDB4M2YsIDB4YzcsIDB4N2YsCisgICAgICAgIDB4ZjMsIDB4ZTcsIDB4ZmYsIDB4ZmQsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4N2IsIDB4ZWYsIDB4ZjUsIDB4ZGEsIDB4ZmYsCisgICAgICAgIDB4N2MsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2IsIDB4ZWIsIDB4ZmIsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4NjAsIDB4ZmMsIDB4ZmIsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmIsIDB4MDAsIDB4MGYsIDB4ZjEsIDB4ZjUsIDB4ZmIsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjMsIDB4ODYsIDB4M2UsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmIsIDB4NzMsIDB4ZmYsIDB4ZmYsIDB4OWYsCisgICAgICAgIDB4YWIsIDB4OGMsIDB4ZjUsIDB4ZDEsIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmUsIDB4ZWIsIDB4MzYsIDB4MGQsIDB4NDksCisgICAgICAgIDB4YmYsIDB4ZjAsIDB4ZmMsIDB4ZmIsIDB4NzMsIDB4ZmYsIDB4ZjMsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4YWIsIDB4YTcsIDB4ZjEsIDB4ZjksIDB4ZmYsIDB4ZjcsIDB4ZGYsCisgICAgICAgIDB4ZmEsIDB4ZmIsIDB4ZmYsIDB4YTcsIDB4M2YsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4ZmIsIDB4ZmIsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4YWYsIDB4OGYsIDB4ZjksIDB4ZjksIDB4ZGYsIDB4ZGYsIDB4ZjcsIDB4ZGIsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmEsIDB4MmYsIDB4NjksCisgICAgICAgIDB4ZmYsIDB4ZTcsIDB4ZmIsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsCisgICAgICAgIDB4ZmYsIDB4ZmIsIDB4ZDcsIDB4ZmYsIDB4ZGYsIDB4ZjcsIDB4ZDcsIDB4ZGYsCisgICAgICAgIDB4ZjMsIDB4ZGIsIDB4ZmYsIDB4ZGIsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZTMsIDB4N2IsIDB4ZjksIDB4ZmIsIDB4ZmYsIDB4OGYsIDB4ZmIsCisgICAgICAgIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZGYsIDB4ZjMsIDB4ZDcsIDB4ZGYsCisgICAgICAgIDB4YTMsIDB4NWIsIDB4YzQsIDB4ZmIsIDB4ZWYsCisgICAgICAgIDB4N2YsIDB4ZTAsIDB4ZmQsIDB4ZmIsIDB4ZmIsIDB4ZmYsIDB4ZmIsIDB4ZWIsCisgICAgICAgIDB4ZmYsIDB4OGMsIDB4ZWIsIDB4ZjAsIDB4ZDMsIDB4ZmYsIDB4ZDcsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4YmIsIDB4N2YsIDB4OGYsIDB4N2UsCisgICAgICAgIDB4YmYsIDB4ZmIsIDB4NmMsIDB4ZmIsIDB4ZmIsIDB4ZmYsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZmIsIDB4ZjMsIDB4OGIsIDB4ZjMsIDB4ZjQsIDB4ZjcsIDB4ZDcsIDB4ZmYsCisgICAgICAgIDB4ZjMsIDB4ZmYsIDB4ZmUsIDB4YzIsIDB4YmYsCisgICAgICAgIDB4ZmYsIDB4ODcsIDB4N2YsIDB4ZmEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4OGYsIDB4ZmYsIDB4ZjQsIDB4ZmYsIDB4ZGYsCisgICAgICAgIDB4ZmYsIDB4ZmIsIDB4OGYsIDB4N2YsIDB4YzUsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsCisgICAgICAgIDB4ZjMsIDB4ODcsIDB4ZWYsIDB4ZmMsIDB4ZmQsIDB4ZmIsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZGYsIDB4ZmYsIDB4ZmIsIDB4YWIsIDB4N2YsCisgICAgICAgIDB4M2YsIDB4ZjMsIDB4ZmEsIDB4ZjksIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZWIsCisgICAgICAgIDB4ZmIsIDB4ZWMsIDB4MWYsIDB4Y2YsIDB4N2UsIDB4ZmYsIDB4OGYsIDB4NWUsCisgICAgICAgIDB4ZDEsIDB4YmYsIDB4ZmYsIDB4ZmUsIDB4YWEsCisgICAgICAgIDB4ZmYsIDB4ODAsIDB4N2QsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4OGYsIDB4NWYsIDB4OGMsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmEsIDB4OWYsIDB4NmYsCisgICAgICAgIDB4ZmYsIDB4OWEsIDB4ZmQsIDB4ZmMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4NmYsIDB4YmYsIDB4ZDcsIDB4ODksIDB4N2YsIDB4ZjQsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4YmYsIDB4NmYsCisgICAgICAgIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4MmIsIDB4NzMsIDB4ZjAsIDB4ZjMsIDB4ZmYsIDB4ZmYsIDB4YzMsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGIsIDB4NjIsIDB4ZmQsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4MGYsIDB4OGIsIDB4OGUsCisgICAgICAgIDB4ZjAsIDB4ZGMsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4YWUsCisgICAgICAgIDB4NDMsIDB4YTksIDB4NzMsIDB4ZjksIDB4ZmIsCisgICAgICAgIDB4N2YsIDB4ZjksIDB4ZmYsIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZjksIDB4ZmYsCisgICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZjMsIDB4ZmUsCisgICAgICAgIDB4ZjMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ODcsIDB4ZjgsIDB4ZjgsIDB4ZjksIDB4N2YsIDB4ZjksIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ZjAsIDB4ZjMsIDB4ZmYsCisgICAgICAgIDB4ZjMsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjksIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjMsIDB4ZmYsCisgICAgICAgIDB4ZmIsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZjcsIDB4ZjksIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZmUsCisgICAgICAgIDB4ZjMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjUsIDB4ZmYsIDB4ZjEsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjMsIDB4ZmUsCisgICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ODUsIDB4ZmYsCisgICAgICAgIDB4ZmUsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZjMsIDB4ZGUsIDB4ZmYsIDB4ZjMsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4MGYsIDB4OWYsIDB4ZmEsIDB4OWYsIDB4ZWIsIDB4ZjIsCisgICAgICAgIDB4ZTcsIDB4ZmYsIDB4N2IsIDB4ZmYsIDB4NGYsIDB4NzMsIDB4MzEsIDB4ODEsCisgICAgICAgIDB4NWYsIDB4ZjEsIDB4ZmUsIDB4ZmYsIDB4YmYsCisgICAgICAgIDB4ZmYsIDB4YWYsIDB4N2YsIDB4OTQsIDB4ZmIsIDB4ZmUsIDB4OGYsIDB4ZmYsCisgICAgICAgIDB4MDAsIDB4ZmYsIDB4ZjAsIDB4ZWYsIDB4ZWYsIDB4NWYsIDB4ZmIsIDB4ZjUsCisgICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4NWUsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZjksIDB4ZmYsIDB4ZWYsIDB4ODYsIDB4MGYsIDB4NzEsIDB4ZjYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4N2YsIDB4OTcsIDB4Y2YsIDB4ZmQsIDB4YmYsIDB4NWYsCisgICAgICAgIDB4ZjksIDB4ZjEsIDB4ZjMsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4ZGIsIDB4ZWQsIDB4MWUsIDB4ZmYsIDB4ZjYsIDB4OTUsIDB4OWEsCisgICAgICAgIDB4NmYsIDB4M2QsIDB4ZmYsIDB4ZjgsIDB4ZmIsIDB4ZGYsIDB4ZjcsIDB4ZmQsCisgICAgICAgIDB4ZmIsIDB4ZjcsIDB4ZmQsIDB4ZWQsIDB4ZGUsCisgICAgICAgIDB4N2YsIDB4ZjAsIDB4ZjcsIDB4ODcsIDB4N2YsIDB4OWIsIDB4ZmYsIDB4ZWMsCisgICAgICAgIDB4OWYsIDB4YmYsIDB4N2YsIDB4Y2QsIDB4N2YsIDB4ZjcsIDB4M2IsIDB4YWQsCisgICAgICAgIDB4N2UsIDB4ZjgsIDB4ZmYsIDB4YmIsIDB4NzksCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZTMsIDB4N2MsIDB4MDEsIDB4OGQsIDB4ZjUsIDB4ZmIsCisgICAgICAgIDB4ZTcsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4OWUsIDB4N2QsIDB4MGYsIDB4N2YsCisgICAgICAgIDB4ZjEsIDB4Y2QsIDB4ZmUsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4ZDcsIDB4ZjQsIDB4OWEsIDB4ZjcsIDB4ZWQsIDB4ZmYsIDB4ZjMsCisgICAgICAgIDB4YjcsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4YmQsIDB4ZTcsIDB4NWYsIDB4YmQsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZmUsIDB4N2YsIDB4ZjEsCisgICAgICAgIDB4M2YsIDB4ZmYsIDB4ZTcsIDB4ZmYsIDB4Y2YsIDB4ZmEsIDB4ZjgsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZGYsIDB4YmYsIDB4ZmUsIDB4ZGYsIDB4ZmYsIDB4ZDMsIDB4MWYsCisgICAgICAgIDB4ZmQsIDB4ZWYsIDB4N2YsIDB4ZmYsIDB4Y2YsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4OTMsIDB4ZGYsIDB4ZjAsIDB4ZWYsIDB4ZjMsIDB4ZDQsCisgICAgICAgIDB4NzcsIDB4NmYsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4N2YsIDB4N2QsIDB4ZmQsCisgICAgICAgIDB4N2YsIDB4N2QsIDB4ZmYsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZGYsIDB4ZmIsIDB4YmMsIDB4ZWYsIDB4ZmYsIDB4ZmQsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmMsIDB4N2YsIDB4YjcsIDB4ZmYsIDB4ZmQsIDB4NWYsCisgICAgICAgIDB4Y2YsIDB4ZmYsIDB4ZWYsIDB4N2YsIDB4ZmQsCisgICAgICAgIDB4ZmYsIDB4ZWUsIDB4ODcsIDB4ZWYsIDB4OTIsIDB4ZjAsIDB4N2UsIDB4ZTUsCisgICAgICAgIDB4YmYsIDB4OGYsIDB4N2YsIDB4NjAsIDB4ZDksIDB4ZGIsIDB4NzEsIDB4YjMsCisgICAgICAgIDB4MmQsIDB4NDksIDB4NmMsIDB4MjksIDB4N2YsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4ZTQsIDB4NmYsIDB4ZjMsIDB4ZmEsIDB4NTcsIDB4ZmQsCisgICAgICAgIDB4ZmYsIDB4ZmUsIDB4YjcsIDB4N2YsIDB4ZmMsIDB4ZmYsIDB4NzMsIDB4ZGYsCisgICAgICAgIDB4ZjMsIDB4N2YsIDB4ZmQsIDB4ZmYsIDB4YmYsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4OGIsIDB4N2YsIDB4OGYsIDB4ZmYsIDB4ZjIsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZWQsIDB4ZWYsCisgICAgICAgIDB4ZjEsIDB4ZjcsIDB4ZmQsIDB4ZGYsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZTcsIDB4ZTYsIDB4ZjEsIDB4ZmYsCisgICAgICAgIDB4ZGYsIDB4ZmIsIDB4ZTksIDB4ZmUsIDB4YmYsIDB4ZmYsIDB4YmYsIDB4NWYsCisgICAgICAgIDB4ZmYsIDB4YmYsIDB4MGUsIDB4NzUsIDB4ZmEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NmYsIDB4ZmIsIDB4ZjksIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZjMsIDB4ZmYsIDB4ZmIsIDB4YmYsIDB4ZWYsIDB4ZmYsIDB4ZjMsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4MzgsIDB4ZjgsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4OWYsCisgICAgICAgIDB4ZjcsIDB4MGIsIDB4MGYsIDB4ZjUsIDB4ZjUsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ZjcsIDB4ZjMsIDB4OGUsIDB4MGUsCisgICAgICAgIDB4YmYsIDB4ZTgsIDB4NmYsIDB4ZWYsIDB4N2YsIDB4ZmYsIDB4ZGYsIDB4ZGYsCisgICAgICAgIDB4ZWYsIDB4ODgsIDB4ZjUsIDB4OTEsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4YmYsCisgICAgICAgIDB4ZmUsIDB4YmYsIDB4YTYsIDB4ODEsIDB4NzEsCisgICAgICAgIDB4ZmYsIDB4ZjAsIDB4ZjgsIDB4ZmYsIDB4NjcsIDB4ZWYsIDB4ZmYsIDB4YjcsCisgICAgICAgIDB4ZjcsIDB4OGYsIDB4MmYsIDB4ZDEsIDB4NDEsIDB4ZmYsIDB4Y2YsIDB4NWYsCisgICAgICAgIDB4ZmUsIDB4ZmYsIDB4N2IsIDB4OGYsIDB4OWYsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4NmYsIDB4ZWYsIDB4ZjcsIDB4ZTcsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4OGYsIDB4ZDEsIDB4ZjEsIDB4Y2YsIDB4ZGYsIDB4Y2YsIDB4ZGYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4OGYsIDB4ZTEsCisgICAgICAgIDB4ZmYsIDB4ZTcsIDB4ZmYsIDB4ZjcsIDB4ZTcsIDB4NmYsIDB4ZjcsIDB4ZTcsCisgICAgICAgIDB4ZTcsIDB4NzcsIDB4ZWYsIDB4ZWYsIDB4NmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsCisgICAgICAgIDB4ZmYsIDB4ZGYsIDB4ZGYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4YTcsIDB4NmYsIDB4ZmYsIDB4ZjcsIDB4ZWYsIDB4OTcsIDB4ZTcsCisgICAgICAgIDB4ZjAsIDB4ZWYsIDB4N2YsIDB4YWYsIDB4NGYsIDB4ZmYsIDB4ZmYsIDB4ZGYsCisgICAgICAgIDB4YmYsIDB4NWYsIDB4ZTAsIDB4N2YsIDB4ZWYsCisgICAgICAgIDB4N2YsIDB4YTAsIDB4ZWYsIDB4ZmYsIDB4ZTcsIDB4ZmYsIDB4ZjcsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4OGIsIDB4YmYsIDB4ZjgsIDB4ZGYsIDB4ZmYsIDB4Y2YsIDB4N2UsCisgICAgICAgIDB4ZmYsIDB4ZGYsIDB4N2YsIDB4OGUsIDB4NWYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4MzgsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZjcsIDB4ZjcsCisgICAgICAgIDB4ZjcsIDB4ZjcsIDB4OGYsIDB4ZjcsIDB4ZjgsIDB4ZjcsIDB4Y2YsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4Y2IsIDB4M2YsCisgICAgICAgIDB4M2YsIDB4OWYsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4YWYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZGYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4YWUsIDB4N2YsIDB4YzEsCisgICAgICAgIDB4N2YsIDB4ZjAsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4YmYsIDB4YmYsIDB4ZDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4ZmYsIDB4ZmYsIDB4OWIsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4Y2YsIDB4ZjgsIDB4ZmYsIDB4OGYsIDB4NmYsIDB4ZTAsIDB4ZDcsCisgICAgICAgIDB4ZjcsIDB4ZjcsIDB4ZmYsIDB4ZmUsIDB4ZjAsIDB4ZmUsIDB4OGYsIDB4NWUsCisgICAgICAgIDB4ZDEsIDB4ZmYsIDB4ZGYsIDB4ZGYsIDB4YmUsCisgICAgICAgIDB4ZmYsIDB4ODQsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZGYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4YWYsIDB4N2YsIDB4ODEsIDB4N2YsIDB4ZjUsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmEsIDB4OWYsIDB4M2YsCisgICAgICAgIDB4ZmYsIDB4ZDgsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4MGYsIDB4ZmYsIDB4ODUsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4ZGYsIDB4NmYsIDB4YmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4ZjcsIDB4ZGYsCisgICAgICAgIDB4ZjcsIDB4NDcsIDB4ZjQsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZGYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4YmYsIDB4Y2YsIDB4NWEsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4YmYsIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4M2YsIDB4OGYsIDB4YzAsCisgICAgICAgIDB4ZjMsIDB4ZDEsIDB4ZmYsIDB4ZmIsIDB4ZWYsIDB4ZmYsIDB4ZGYsIDB4YmUsCisgICAgICAgIDB4MGYsIDB4MjUsIDB4ZTksIDB4ZDEsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZjcsCisgICAgICAgIDB4MmYsIDB4YWYsIDB4ZjMsIDB4ZmIsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4YmYsIDB4ZmIsCisgICAgICAgIDB4YmYsIDB4ODcsIDB4ZjgsIDB4ZjgsIDB4ZGYsIDB4N2YsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZTAsIDB4ZjAsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZWYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4ZGYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZWIsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4ZGUsCi0gICAgICAgIDB4ZTcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4N2YsIDB4ZWYsIDB4ZmYsIDB4OWYsIDB4ZmYsCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4ZjcsIDB4ZGUsIDB4ZjEsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4OGYsIDB4YmYsIDB4ZTgsIDB4ODgsIDB4ZmYsIDB4ZjgsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZDcsIDB4ZmYsIDB4MmYsIDB4M2YsIDB4NTEsIDB4OWIsCi0gICAgICAgIDB4N2YsIDB4ZjEsIDB4ZmUsIDB4ZmYsIDB4ZGYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4YmYsIDB4YzcsIDB4ZmYsIDB4ZjgsIDB4MGYsIDB4ZmYsCi0gICAgICAgIDB4MDAsIDB4ZmYsIDB4YjAsIDB4N2YsIDB4N2YsIDB4YTcsIDB4N2IsIDB4ZjUsCi0gICAgICAgIDB4OGYsIDB4NmYsIDB4ODEsIDB4N2UsIDB4YjEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4YWYsIDB4NWYsIDB4NzAsIDB4ZjAsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ODUsIDB4MGYsCi0gICAgICAgIDB4N2IsIDB4ZGQsIDB4ZmYsIDB4ZmYsIDB4ZWYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZjksIDB4NWYsIDB4ZTcsIDB4ZTgsIDB4ZmYsIDB4ZWYsCi0gICAgICAgIDB4ZTgsIDB4ZTgsIDB4ZjcsIDB4ZmYsIDB4ZDEsIDB4YWYsIDB4NGYsIDB4ZmQsCi0gICAgICAgIDB4YmYsIDB4MWYsIDB4N2YsIDB4ZmYsIDB4Y2UsCi0gICAgICAgIDB4ZmYsIDB4ZTgsIDB4ZjcsIDB4M2YsIDB4ZmYsIDB4OTAsIDB4ZmYsIDB4ZjgsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4NzcsIDB4YjAsIDB4N2YsIDB4YjcsIDB4N2YsIDB4YmIsCi0gICAgICAgIDB4N2UsIDB4ZjEsIDB4YmYsIDB4OWYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4MmYsIDB4YmYsIDB4YjcsIDB4ZmYsIDB4ZDAsIDB4ZjAsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4NmYsIDB4NGYsIDB4ZmIsIDB4OWIsIDB4M2IsCi0gICAgICAgIDB4N2IsIDB4ZmYsIDB4ZmUsIDB4N2YsIDB4ZWYsCi0gICAgICAgIDB4ZmYsIDB4OWYsIDB4NzMsIDB4YmMsIDB4ZjcsIDB4ZTgsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4YmUsIDB4ZmYsIDB4ZGIsIDB4ZmYsIDB4ZGUsIDB4YjksIDB4NmYsIDB4ZGIsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4ZGIsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZjQsIDB4ZWYsIDB4YWYsIDB4ZDcsIDB4ZjAsIDB4ZGMsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4ZjksIDB4ZGYsIDB4ZGYsIDB4N2YsCi0gICAgICAgIDB4ZjEsIDB4YmYsIDB4ZWYsIDB4ZmYsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4ODcsIDB4YmYsIDB4ZjAsIDB4ZjgsIDB4ZmYsIDB4ZmIsCi0gICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZGYsIDB4ZjcsIDB4OGYsIDB4N2YsIDB4MjEsIDB4YjEsCi0gICAgICAgIDB4ZmYsIDB4N2IsIDB4ZmYsIDB4ZmYsIDB4ZWYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YzcsIDB4ZmYsIDB4YjgsIDB4ZmYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4OWYsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZDcsIDB4N2YsIDB4ZjUsIDB4ZmUsCi0gICAgICAgIDB4ZmIsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjksCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4NWYsIDB4YWYsIDB4ZDAsIDB4ZjMsIDB4NjgsIDB4ZjgsCi0gICAgICAgIDB4ZjgsIDB4OGYsIDB4NmYsIDB4NzAsIDB4YWYsIDB4NGYsIDB4YjUsIDB4MTIsCi0gICAgICAgIDB4MDUsIDB4N2YsIDB4OWYsIDB4ZTcsIDB4N2YsCi0gICAgICAgIDB4YmYsIDB4N2YsIDB4ZjAsIDB4YjcsIDB4ZjcsIDB4ZTcsIDB4M2IsIDB4ZmYsCi0gICAgICAgIDB4ZmIsIDB4ZmYsIDB4OWYsIDB4N2YsIDB4ZTAsIDB4ZmYsIDB4ZGYsIDB4ZTIsCi0gICAgICAgIDB4YmYsIDB4ZmUsIDB4ZjMsIDB4ZWYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YTAsIDB4ZmYsIDB4ZjAsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZWYsIDB4YmYsIDB4N2YsIDB4ODksIDB4N2YsCi0gICAgICAgIDB4ZDEsIDB4OWUsIDB4ZmYsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZmIsIDB4OWIsIDB4ZWYsIDB4OWYsIDB4ZmYsIDB4ZDcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZjAsIDB4ZmIsIDB4N2YsIDB4ZmYsIDB4ZGYsIDB4YWYsIDB4ZTcsCi0gICAgICAgIDB4ZjMsIDB4ZTcsIDB4N2YsIDB4N2YsIDB4ZjYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZjMsIDB4ZmYsIDB4ZjcsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4ZGUsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4YmYsIDB4ZWYsIDB4ZjcsCi0gICAgICAgIDB4ZWIsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4M2YsIDB4NjgsIDB4ZjgsIDB4ZjcsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4Y2YsCi0gICAgICAgIDB4ZmIsIDB4MGYsIDB4MWYsIDB4ZTEsIDB4ZjksIDB4ZjcsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ODgsIDB4MmUsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4NWIsIDB4ZmYsIDB4N2YsIDB4ZjcsIDB4N2YsIDB4OWIsCi0gICAgICAgIDB4OWYsIDB4ODgsIDB4ZjksIDB4ZTEsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmUsIDB4ZWYsIDB4MmUsIDB4MDksIDB4NTksCi0gICAgICAgIDB4YmYsIDB4ZTgsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4NzcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ODcsIDB4ZWYsIDB4OTEsIDB4ZjksIDB4ZjcsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmUsIDB4ZGYsIDB4YmYsIDB4OGYsIDB4NmYsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4ZTksIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4MmYsIDB4NjEsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZjMsIDB4ZTcsIDB4YmYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmIsIDB4OWYsIDB4ZGYsIDB4ZjcsIDB4ZmYsIDB4ZjcsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4ZDMsIDB4N2IsIDB4ZmIsIDB4ZjcsIDB4N2YsIDB4YzcsIDB4ZmYsCi0gICAgICAgIDB4ZjAsIDB4ZGYsIDB4ZGYsIDB4ZGYsIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4YmYsCi0gICAgICAgIDB4Y2YsIDB4N2YsIDB4YTAsIDB4ZmYsIDB4ZWYsCi0gICAgICAgIDB4N2YsIDB4ZTgsIDB4ZmYsIDB4ZjcsIDB4ZjcsIDB4ZmYsIDB4ZjcsIDB4Y2YsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4YTAsIDB4ZmYsIDB4ZjcsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4ODEsIDB4N2UsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4NzgsIDB4ZmYsIDB4ZjcsIDB4YmYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmIsIDB4YWIsIDB4ZGYsIDB4ZTcsIDB4ZjgsIDB4ZjcsIDB4ZmYsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZGYsIDB4YWYsCi0gICAgICAgIDB4ZmYsIDB4OWYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsCi0gICAgICAgIDB4OGYsIDB4ZmYsIDB4YjAsIDB4YTcsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YWUsIDB4N2YsIDB4ZDEsCi0gICAgICAgIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsCi0gICAgICAgIDB4ZmIsIDB4YWYsIDB4ZmYsIDB4ZDgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4N2YsCi0gICAgICAgIDB4M2YsIDB4OTcsIDB4ZjgsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZWIsCi0gICAgICAgIDB4YmYsIDB4ZmMsIDB4NmYsIDB4OWYsIDB4NzgsIDB4ZjcsIDB4OGYsIDB4N2UsCi0gICAgICAgIDB4YjEsIDB4ZmYsIDB4NWYsIDB4ZTUsIDB4N2UsCi0gICAgICAgIDB4ZmYsIDB4ODQsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZGYsIDB4YWYsIDB4MzcsIDB4OTAsIDB4ZmYsIDB4ZjksIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmUsIDB4OGYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4OTAsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2IsIDB4ZGYsIDB4YmYsIDB4OTksIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4YmYsIDB4NmYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4YjcsIDB4ZmIsCi0gICAgICAgIDB4ZmYsIDB4N2IsIDB4ZjgsIDB4ZmYsIDB4OWYsIDB4ZmYsIDB4YmYsIDB4YmYsCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4OTcsIDB4N2UsIDB4ZjksCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4MGYsIDB4ODcsIDB4ODAsCi0gICAgICAgIDB4ZjMsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4ZjcsIDB4YmYsIDB4Y2UsCi0gICAgICAgIDB4MGYsIDB4YTksIDB4NzEsIDB4ZjEsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmIsIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YjcsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4M2YsIDB4ZjMsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4YmYsIDB4ZmUsCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsCi0gICAgICAgIDB4YmYsIDB4ODcsIDB4ZjgsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4YjAsIDB4ZjAsIDB4YmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4YWYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4ZmUsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NzcsIDB4ZmYsIDB4ODcsIDB4ZmYsCi0gICAgICAgIDB4ZjcsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4ZmYsIDB4YmYsIDB4ZmYsCi0gICAgICAgIDB4Y2YsIDB4ZmUsIDB4ZjEsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZjcsIDB4MmYsIDB4ZGIsIDB4NzQsIDB4OWMsIDB4ZWYsIDB4ZmMsCi0gICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MGYsIDB4MmYsIDB4NzEsIDB4YTMsCi0gICAgICAgIDB4NWYsIDB4ZjEsIDB4ZmUsIDB4ZmYsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4N2YsIDB4MzQsIDB4ZmYsIDB4ZjQsIDB4OGYsIDB4ZmYsCi0gICAgICAgIDB4MDAsIDB4ZmYsIDB4YTAsIDB4NWYsIDB4YjcsIDB4ZGYsIDB4N2IsIDB4ZmQsCi0gICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4NWUsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZWYsIDB4ZWYsIDB4MmYsIDB4NzgsIDB4ZjgsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4NzcsIDB4ZmIsIDB4ZmYsIDB4ZTksIDB4YWQsIDB4NDcsCi0gICAgICAgIDB4NzMsIDB4ZjUsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4OWYsIDB4ZWYsIDB4YmYsIDB4ZmIsIDB4YWMsIDB4ZWIsIDB4ZGYsCi0gICAgICAgIDB4NjAsIDB4ZjgsIDB4ZmYsIDB4MGYsIDB4ZDksIDB4ZTYsIDB4NjcsIDB4ZmQsCi0gICAgICAgIDB4ZGYsIDB4N2UsIDB4N2YsIDB4ZjcsIDB4YzYsCi0gICAgICAgIDB4ZmYsIDB4ZWMsIDB4ZjcsIDB4ZTcsIDB4N2YsIDB4OWMsIDB4ZmYsIDB4ZjgsCi0gICAgICAgIDB4ZjcsIDB4OGYsIDB4N2MsIDB4YjAsIDB4N2YsIDB4ZmYsIDB4M2YsIDB4YTMsCi0gICAgICAgIDB4N2UsIDB4ZjksIDB4ZjcsIDB4MmYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ZmIsIDB4OGYsIDB4OWYsIDB4ODMsIDB4ZmYsIDB4YjgsIDB4YjgsCi0gICAgICAgIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZWYsIDB4ZTMsIDB4NzMsCi0gICAgICAgIDB4NzMsIDB4ZWYsIDB4ZmUsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OWYsIDB4ZDcsIDB4ZjgsIDB4ZmIsIDB4ZWMsIDB4ZjMsIDB4ZmYsCi0gICAgICAgIDB4ZGQsIDB4ZmYsIDB4YmIsIDB4Y2YsIDB4ZjYsIDB4ZjksIDB4MWYsIDB4ZmIsCi0gICAgICAgIDB4ZWYsIDB4ZGYsIDB4ZmUsIDB4ZGYsIDB4ZmIsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4YTQsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjAsIDB4ZmMsCi0gICAgICAgIDB4N2YsIDB4ZmIsIDB4ZGUsIDB4ZmYsIDB4ZTksIDB4YmYsIDB4YTcsIDB4M2YsCi0gICAgICAgIDB4ZjksIDB4OWQsIDB4ZWYsIDB4ZmYsIDB4OGQsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ODcsIDB4ZmYsIDB4ZTAsIDB4ZmMsIDB4ZjcsIDB4ZmIsCi0gICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4OWYsIDB4N2YsIDB4NTEsIDB4ZjksCi0gICAgICAgIDB4ZmYsIDB4N2IsIDB4ZGYsIDB4OWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OWIsIDB4ZjcsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4YjMsCi0gICAgICAgIDB4M2YsIDB4ZDcsIDB4ZjgsIDB4ZTcsIDB4ZmYsIDB4N2YsIDB4YmQsIDB4ZWYsCi0gICAgICAgIDB4ZDMsIDB4OWYsIDB4ZmYsIDB4NzcsIDB4ZjksCi0gICAgICAgIDB4ZmYsIDB4ZmMsIDB4MmYsIDB4ZWYsIDB4YmMsIDB4ZWIsIDB4M2MsIDB4ZDgsCi0gICAgICAgIDB4ZDgsIDB4MjgsIDB4M2YsIDB4NzgsIDB4OGIsIDB4MGYsIDB4YzUsIDB4NjMsCi0gICAgICAgIDB4NmQsIDB4N2YsIDB4ZmYsIDB4OWYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4N2YsIDB4ZTAsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZGIsCi0gICAgICAgIDB4ZWIsIDB4ZmYsIDB4OWYsIDB4N2YsIDB4YjgsIDB4YmYsIDB4YzcsIDB4ZjMsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZWYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4ZjcsIDB4YWMsIDB4ZWYsIDB4ZTQsIDB4ZmYsCi0gICAgICAgIDB4ZDEsIDB4ZmYsIDB4ZjcsIDB4ZjcsIDB4ZGUsIDB4N2YsIDB4ZDksIDB4N2YsCi0gICAgICAgIDB4ZjEsIDB4ZWYsIDB4N2YsIDB4ZmYsIDB4ZGYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZDcsIDB4Y2YsIDB4ZjMsIDB4YjcsCi0gICAgICAgIDB4ZWYsIDB4ZjgsIDB4ZjMsIDB4N2YsIDB4YjcsIDB4ZmYsIDB4YmYsIDB4ZjcsCi0gICAgICAgIDB4ZmIsIDB4YmYsIDB4ZWYsIDB4NzcsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmIsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4YjcsIDB4ZmYsIDB4ZmIsIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4Y2IsIDB4N2YsIDB4Y2YsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4M2YsIDB4NzgsIDB4ZjgsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YWYsCi0gICAgICAgIDB4ZmYsIDB4MGYsIDB4NGYsIDB4YjEsIDB4ZjksIDB4ZjcsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZWYsIDB4ZWYsIDB4ZmYsIDB4OGUsIDB4MGUsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4NmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZGYsIDB4ODgsIDB4ZTksIDB4YjEsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZjcsCi0gICAgICAgIDB4ZmUsIDB4ZWYsIDB4MGUsIDB4MDksIDB4NzEsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZjgsIDB4ZmYsIDB4NmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4YWYsIDB4ZDEsIDB4ZjksIDB4ZjcsIDB4YmYsIDB4ZGYsCi0gICAgICAgIDB4ZWUsIDB4YjcsIDB4ZGYsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ZjgsIDB4NmYsIDB4ZWYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YWYsIDB4OGYsIDB4ZjksIDB4ZjEsIDB4ZGYsIDB4ZGYsIDB4YmYsIDB4ZjcsCi0gICAgICAgIDB4ZGYsIDB4ZmYsIDB4ZjYsIDB4YWYsIDB4MjEsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZWYsIDB4ZjMsIDB4ZmYsIDB4MmYsIDB4ZWYsIDB4ZWYsCi0gICAgICAgIDB4ZmYsIDB4Y2YsIDB4ZGYsIDB4OGYsIDB4ZjcsIDB4ZjcsIDB4ZmUsIDB4ZGUsCi0gICAgICAgIDB4ZmYsIDB4YzcsIDB4ZmYsIDB4ZmYsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4Y2IsIDB4N2YsIDB4ZmIsIDB4ZWYsIDB4YmYsIDB4ZGYsIDB4ZWYsCi0gICAgICAgIDB4YTAsIDB4ZGYsIDB4YjcsIDB4OGYsIDB4ZjcsIDB4ZjcsIDB4YmYsIDB4ZmYsCi0gICAgICAgIDB4OGYsIDB4N2YsIDB4ZDAsIDB4ZmYsIDB4ZGYsCi0gICAgICAgIDB4N2YsIDB4ZjgsIDB4ZWYsIDB4ZjcsIDB4YWYsIDB4ZmYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4OTcsIDB4ZmYsIDB4YjAsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4OTcsIDB4M2UsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4NDgsIDB4ZmYsIDB4ZWYsIDB4YmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZWYsIDB4YWYsIDB4ZGYsIDB4YmYsIDB4ZjAsIDB4ZmYsIDB4YmYsIDB4ZmYsCi0gICAgICAgIDB4Y2YsIDB4ZWYsIDB4ZWUsIDB4ZWYsIDB4OWYsCi0gICAgICAgIDB4ZmYsIDB4MTMsIDB4ZmYsIDB4ZjQsIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4Y2YsIDB4ZGYsIDB4ZjQsIDB4ZmYsIDB4ZmYsIDB4ZmMsIDB4ZmYsIDB4Y2YsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4OGUsIDB4N2YsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZWMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZTgsIDB4ZmIsIDB4ZjcsIDB4ZmYsIDB4Y2YsCi0gICAgICAgIDB4ZWYsIDB4ZjcsIDB4ZjcsIDB4YWYsIDB4M2YsCi0gICAgICAgIDB4M2YsIDB4ODcsIDB4N2MsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZTAsIDB4ZGYsCi0gICAgICAgIDB4Y2YsIDB4ZGUsIDB4M2YsIDB4ZDcsIDB4N2MsIDB4ZjcsIDB4OGYsIDB4NmUsCi0gICAgICAgIDB4ZjEsIDB4ZGYsIDB4NzcsIDB4Y2QsIDB4NmUsCi0gICAgICAgIDB4ZmYsIDB4ODQsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OWYsIDB4N2YsIDB4ODAsIDB4ZmYsIDB4ZjksIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4YWYsIDB4M2YsCi0gICAgICAgIDB4YmYsIDB4ODQsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4NWYsIDB4ZWYsIDB4YmYsIDB4YzksIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4OTcsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4Y2YsIDB4ZmYsIDB4YWYsIDB4YWYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZWYsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZDcsIDB4Y2YsCi0gICAgICAgIDB4YzcsIDB4ZTcsIDB4ZTcsIDB4MWUsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4ZjcsIDB4ZWYsIDB4NWYsIDB4OGYsIDB4ODAsCi0gICAgICAgIDB4ZjAsIDB4ZjgsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZDcsIDB4YWUsCi0gICAgICAgIDB4MDcsIDB4NDksIDB4NzYsIDB4ZDEsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZTcsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YWYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZGYsIDB4ZmYsIDB4ZGYsIDB4ZGUsCi0gICAgICAgIDB4ZTcsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ODcsIDB4ZTgsIDB4ZjgsIDB4ZWYsIDB4N2YsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZDAsIDB4ZjAsIDB4ZDcsIDB4ZmYsCi0gICAgICAgIDB4ZjYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmIsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZDcsIDB4ZWYsCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWIsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OTcsIDB4ZWUsCi0gICAgICAgIDB4ZjYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmUsCi0gICAgICAgIDB4ZDcsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4OWYsIDB4ZmYsCi0gICAgICAgIDB4ZjUsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZDcsIDB4ZmYsCi0gICAgICAgIDB4YjYsIDB4NmUsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZGYsIDB4MmYsIDB4ZGYsIDB4YjgsIDB4OGQsIDB4ZWYsIDB4ZjQsCi0gICAgICAgIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MGYsIDB4NWYsIDB4ZjEsIDB4ZDEsCi0gICAgICAgIDB4N2YsIDB4ZjEsIDB4ZmUsIDB4ZmYsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4NzcsIDB4NmQsIDB4YjcsIDB4ZmQsIDB4ZmUsIDB4OGYsIDB4ZmYsCi0gICAgICAgIDB4MDAsIDB4ZmYsIDB4ZjAsIDB4N2YsIDB4N2QsIDB4YjYsIDB4N2YsIDB4YjEsCi0gICAgICAgIDB4OGUsIDB4N2UsIDB4ODAsIDB4NWUsIDB4YjEsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZWYsIDB4ZjgsIDB4MDYsIDB4MGIsIDB4NjAsIDB4ZTIsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4N2YsIDB4OGIsIDB4ZmYsIDB4NDksIDB4YWYsIDB4OGYsCi0gICAgICAgIDB4NjgsIDB4ZjAsIDB4YmYsIDB4ZWQsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4YmYsIDB4Y2EsIDB4N2YsIDB4YjcsIDB4OWIsIDB4ZDcsIDB4YmYsCi0gICAgICAgIDB4NWYsIDB4ZGYsIDB4ZmYsIDB4ZWIsIDB4ZDMsIDB4YWYsIDB4MzcsIDB4ZjksCi0gICAgICAgIDB4ZWYsIDB4ZjcsIDB4ZjksIDB4YjksIDB4ZjYsCi0gICAgICAgIDB4ZmYsIDB4ZGMsIDB4YjcsIDB4NDMsIDB4ZmUsIDB4YmQsIDB4ZmEsIDB4ZTgsCi0gICAgICAgIDB4ZmYsIDB4OWIsIDB4NWYsIDB4ZjIsIDB4N2YsIDB4ZmYsIDB4ZWYsIDB4ZTksCi0gICAgICAgIDB4NWUsIDB4ZmIsIDB4ZmYsIDB4YWYsIDB4NmYsCi0gICAgICAgIDB4ZmYsIDB4ZmIsIDB4MGQsIDB4YmYsIDB4YTksIDB4ZjksIDB4YjEsIDB4ZmYsCi0gICAgICAgIDB4ZTcsIDB4ZTcsIDB4YmYsIDB4N2YsIDB4MGUsIDB4ZmYsIDB4OGYsIDB4ZWYsCi0gICAgICAgIDB4ZjEsIDB4ZDksIDB4ZmYsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ZWUsIDB4MzcsIDB4ZmMsIDB4ZTMsIDB4ZGQsIDB4ZWYsIDB4YmYsCi0gICAgICAgIDB4NmIsIDB4N2YsIDB4ZGQsIDB4YWYsIDB4OWUsIDB4ZjEsIDB4OWYsIDB4ZTksCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4NjIsIDB4YmYsIDB4OGYsIDB4YmUsIDB4ZjQsIDB4ZmUsCi0gICAgICAgIDB4MmYsIDB4ZmYsIDB4ZWIsIDB4ZmYsIDB4ZTEsIDB4ZGYsIDB4MTcsIDB4N2YsCi0gICAgICAgIDB4NzMsIDB4ZmQsIDB4ZmYsIDB4ZmIsIDB4YWQsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4MDcsIDB4ZGYsIDB4ZjQsIDB4ZTUsIDB4ZGUsIDB4ZjUsCi0gICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZmUsIDB4ZGYsIDB4YmYsIDB4N2YsIDB4ZjMsIDB4ZTMsCi0gICAgICAgIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4N2YsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4YmYsIDB4NzcsIDB4YzcsIDB4ZWYsIDB4ZmQsIDB4ZGYsCi0gICAgICAgIDB4N2YsIDB4YmYsIDB4ZjgsIDB4ZmYsIDB4YjcsIDB4N2YsIDB4ZmIsIDB4YmYsCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZWMsIDB4N2YsIDB4ZjksCi0gICAgICAgIDB4ZmYsIDB4ZjAsIDB4MGIsIDB4Y2YsIDB4YTIsIDB4ZjEsIDB4ZjYsIDB4YjcsCi0gICAgICAgIDB4YjMsIDB4ZWIsIDB4N2EsIDB4NmMsIDB4OGYsIDB4MGYsIDB4MzEsIDB4NzcsCi0gICAgICAgIDB4ZTksIDB4ZjksIDB4ZjksIDB4ZWQsIDB4NzUsCi0gICAgICAgIDB4YmYsIDB4N2YsIDB4ZDAsIDB4ZGYsIDB4ZWIsIDB4ZmQsIDB4ZjMsIDB4YmYsCi0gICAgICAgIDB4N2QsIDB4ZmYsIDB4ZDcsIDB4N2IsIDB4ZTAsIDB4ZjcsIDB4NDYsIDB4YjcsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2IsIDB4ZmYsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4Y2IsIDB4N2YsIDB4ODcsIDB4ZmYsIDB4ZjAsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4NzcsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZGYsIDB4ODEsIDB4N2YsCi0gICAgICAgIDB4ZjEsIDB4OWUsIDB4YmYsIDB4OWUsIDB4YmYsCi0gICAgICAgIDB4N2YsIDB4N2YsIDB4ZWYsIDB4YmYsIDB4ZWYsIDB4ZmQsIDB4ZWUsIDB4ZGYsCi0gICAgICAgIDB4ZWYsIDB4NmYsIDB4ZmIsIDB4N2YsIDB4ZmYsIDB4ZGYsIDB4MWYsIDB4OWYsCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4OGYsIDB4ZjksIDB4ZGUsCi0gICAgICAgIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4N2YsIDB4ZmEsIDB4ZmUsIDB4Y2YsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4YmYsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4M2YsIDB4NzksIDB4YjksIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsCi0gICAgICAgIDB4ZjYsIDB4MGQsIDB4MGYsIDB4ZjEsIDB4ZjksIDB4ZjcsIDB4ZmQsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OWYsIDB4ZWQsIDB4ODYsIDB4MWUsCi0gICAgICAgIDB4ZmYsIDB4ZjEsIDB4N2YsIDB4ZmYsIDB4N2UsIDB4ZmEsIDB4ZmYsIDB4ZjcsCi0gICAgICAgIDB4OGUsIDB4ODUsIDB4ZjksIDB4ZjEsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmUsIDB4YWYsIDB4MWMsIDB4MGIsIDB4NzMsCi0gICAgICAgIDB4YmYsIDB4YzgsIDB4ZTksIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4Y2YsIDB4ZWYsIDB4ZDEsIDB4ZDEsIDB4ZmYsIDB4ZGQsIDB4ZmYsCi0gICAgICAgIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4NmQsCi0gICAgICAgIDB4ZmYsIDB4ZjksIDB4N2IsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmIsIDB4ZmYsCi0gICAgICAgIDB4YWYsIDB4OGYsIDB4ZjksIDB4ZjksIDB4ZGYsIDB4ZmYsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWUsIDB4Y2YsIDB4ZGIsCi0gICAgICAgIDB4ZmYsIDB4ZGUsIDB4ZmYsIDB4ZjYsIDB4ZmUsIDB4ZGYsIDB4N2EsIDB4ZmUsCi0gICAgICAgIDB4ZGYsIDB4YTIsIDB4ZGUsIDB4OGIsIDB4ZmYsIDB4ZjIsIDB4ZmYsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmQsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4Y2YsIDB4N2YsIDB4ZmUsIDB4ZmYsIDB4ZGYsIDB4YWYsIDB4ZmYsCi0gICAgICAgIDB4ZTUsIDB4ZmEsIDB4ZjcsIDB4YWUsIDB4ZDcsIDB4ZjIsIDB4ZmYsIDB4YmYsCi0gICAgICAgIDB4ZWQsIDB4N2YsIDB4YjIsIDB4ZmQsIDB4YmYsCi0gICAgICAgIDB4N2YsIDB4ZjgsIDB4ZmUsIDB4ZjcsIDB4ZmYsIDB4N2YsIDB4N2YsIDB4ZGYsCi0gICAgICAgIDB4ZjcsIDB4ODksIDB4YmYsIDB4ZjAsIDB4ZGIsIDB4ZjcsIDB4OTcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OWYsIDB4N2YsIDB4OTcsIDB4NWUsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4NzgsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4N2IsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZjYsIDB4OGYsIDB4ZjcsIDB4ZjgsIDB4ZmYsIDB4ZDcsIDB4YmYsCi0gICAgICAgIDB4ZmQsIDB4ZmYsIDB4ZmUsIDB4ZmQsIDB4OWYsCi0gICAgICAgIDB4ZmYsIDB4YTcsIDB4N2YsIDB4ZjUsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZjcsCi0gICAgICAgIDB4ZGYsIDB4ZmYsIDB4ZjMsIDB4ZmYsIDB4ZjcsIDB4ZmIsIDB4ZmYsIDB4OWYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4N2YsIDB4ZjMsCi0gICAgICAgIDB4ZmYsIDB4ZDgsIDB4ZmUsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZjcsCi0gICAgICAgIDB4ZjYsIDB4OGUsIDB4YmYsIDB4ZDgsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4Y2YsIDB4ZmYsIDB4ZmYsIDB4Y2QsIDB4NWYsCi0gICAgICAgIDB4M2YsIDB4OGYsIDB4ZmQsIDB4ZmYsIDB4OGYsIDB4NWYsIDB4ZDAsIDB4ZjcsCi0gICAgICAgIDB4ZDYsIDB4YjUsIDB4NmMsIDB4OWYsIDB4N2IsIDB4ZjcsIDB4OGYsIDB4N2UsCi0gICAgICAgIDB4ZjEsIDB4ZGYsIDB4ZmYsIDB4ZjcsIDB4ZTYsCi0gICAgICAgIDB4YmYsIDB4OTUsIDB4N2YsIDB4ZmMsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmUsIDB4YmYsIDB4NWYsIDB4ODAsIDB4ZjcsIDB4ZjEsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmMsIDB4YWYsIDB4ZGYsCi0gICAgICAgIDB4YmYsIDB4ODcsIDB4ZmUsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZWYsIDB4OTcsIDB4ODksIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4YmIsCi0gICAgICAgIDB4ZmYsIDB4M2UsIDB4ZGYsIDB4ZmYsIDB4ZGYsIDB4ZGYsIDB4ZjksIDB4ZjcsCi0gICAgICAgIDB4ZTYsIDB4NzYsIDB4ZjQsIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4OWYsCi0gICAgICAgIDB4OWYsIDB4ZWYsIDB4Y2YsIDB4YmMsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZmIsIDB4ZGYsIDB4ZjcsIDB4ZGEsIDB4MmYsIDB4OGUsIDB4ZDUsCi0gICAgICAgIDB4ZjAsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4Y2UsCi0gICAgICAgIDB4NGYsIDB4YzMsIDB4NTksIDB4YjMsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmEsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZGYsIDB4ZjYsIDB4ZGYsIDB4YmYsIDB4ZmUsIDB4OWYsIDB4OWUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4YmYsIDB4ZjcsCi0gICAgICAgIDB4YmYsIDB4ODcsIDB4ZDgsIDB4ZjgsIDB4ZGEsIDB4N2YsIDB4ZmYsIDB4ZjYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZDAsIDB4ZjAsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGIsIDB4ZmYsIDB4ZmUsIDB4ZjcsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZWYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4ZGYsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmIsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZjcsIDB4OWIsIDB4ZmYsIDB4ZGUsIDB4YjcsCi0gICAgICAgIDB4ZmEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OTUsIDB4ZWUsCi0gICAgICAgIDB4Y2QsIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4MGYsIDB4ZmYsIDB4ZGUsIDB4ZmYsIDB4ZWIsIDB4ZmYsCi0gICAgICAgIDB4ZmQsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmQsIDB4ZmYsCi0gICAgICAgIDB4ZmQsIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4MmIsIDB4ZmIsIDB4YTAsIDB4YWQsIDB4ZjcsIDB4ZjUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4MmIsIDB4ZmYsIDB4ZjUsIDB4MjcsCi0gICAgICAgIDB4N2YsIDB4ZjUsIDB4ZTAsIDB4ZmYsIDB4ZWUsCi0gICAgICAgIDB4ZmYsIDB4NjcsIDB4NmYsIDB4ZjMsIDB4ZjksIDB4ZmYsIDB4OGYsIDB4ZmYsCi0gICAgICAgIDB4MDAsIDB4ZmYsIDB4ZDAsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4N2QsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4YmYsIDB4ZmQsIDB4YmYsIDB4YmYsIDB4MTYsIDB4NzAsIDB4ZjMsCi0gICAgICAgIDB4ZWIsIDB4M2YsIDB4N2YsIDB4YWIsIDB4YWYsIDB4YTUsIDB4ZWQsIDB4NGQsCi0gICAgICAgIDB4ZjEsIDB4ZjcsIDB4ZmQsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4M2YsIDB4ZmYsIDB4ZmYsIDB4OWMsIDB4ZjcsIDB4ZGIsIDB4ZmUsIDB4ZmMsCi0gICAgICAgIDB4N2YsIDB4NjMsIDB4N2UsIDB4ZmMsIDB4NzcsIDB4ZGEsIDB4ZmYsIDB4OTcsCi0gICAgICAgIDB4NjEsIDB4YWUsIDB4ZWIsIDB4ZjMsIDB4YjYsCi0gICAgICAgIDB4ZmYsIDB4ZmMsIDB4ZjcsIDB4ZmMsIDB4M2YsIDB4OWQsIDB4ZjMsIDB4ZGIsCi0gICAgICAgIDB4ZmYsIDB4YmIsIDB4N2QsIDB4ODQsIDB4NmYsIDB4ZjcsIDB4ZWYsIDB4MWYsCi0gICAgICAgIDB4N2UsIDB4ZGIsIDB4ZmYsIDB4YWQsIDB4ZmIsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4ODIsIDB4ZmYsIDB4ZTAsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4N2YsIDB4YTMsIDB4NzcsCi0gICAgICAgIDB4ZjEsIDB4NmQsIDB4ZmEsIDB4N2YsIDB4Y2IsCi0gICAgICAgIDB4ZmYsIDB4OWYsIDB4ZjUsIDB4YWYsIDB4ZWYsIDB4YjUsIDB4ZmIsIDB4ZjYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmQsIDB4Y2UsIDB4ZmYsIDB4NzUsIDB4ZmIsIDB4ZjcsCi0gICAgICAgIDB4N2IsIDB4NmYsIDB4ZWEsIDB4ZmYsIDB4ZmIsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZDYsIDB4ZWYsIDB4Y2EsIDB4ZDIsIDB4ZjIsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4OGQsIDB4ZmIsIDB4YTEsIDB4YmYsIDB4OGQsIDB4OTcsCi0gICAgICAgIDB4NzEsIDB4ZmYsIDB4ZmUsIDB4ZmIsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YzcsIDB4ZGYsIDB4ZjAsIDB4ZmYsIDB4ZjIsIDB4ZWYsCi0gICAgICAgIDB4ZDcsIDB4ZWYsIDB4ZmYsIDB4YmYsIDB4OWIsIDB4NGYsIDB4ZjUsIDB4YWIsCi0gICAgICAgIDB4ZjcsIDB4ZmIsIDB4ZmUsIDB4ZGUsIDB4ZmIsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWQsIDB4ZWYsCi0gICAgICAgIDB4ZGYsIDB4YjIsIDB4ZjUsIDB4ZmYsIDB4ZGIsIDB4N2YsIDB4YmYsIDB4ZmYsCi0gICAgICAgIDB4ZGQsIDB4ZWMsIDB4ZmIsIDB4NzYsIDB4YjMsCi0gICAgICAgIDB4ZmYsIDB4ZGQsIDB4MGQsIDB4YWYsIDB4ZDIsIDB4ZjAsIDB4N2YsIDB4ZmYsCi0gICAgICAgIDB4YmQsIDB4ZWQsIDB4N2QsIDB4N2UsIDB4YWYsIDB4OGYsIDB4NzEsIDB4YjEsCi0gICAgICAgIDB4NjksIDB4NzMsIDB4ZWIsIDB4ZWMsIDB4N2IsCi0gICAgICAgIDB4YmYsIDB4N2YsIDB4YTQsIDB4ZmYsIDB4YWEsIDB4ZmMsIDB4NjMsIDB4ZmYsCi0gICAgICAgIDB4ZGYsIDB4ZmQsIDB4Y2YsIDB4N2YsIDB4YTgsIDB4ZWYsIDB4ZDcsIDB4M2YsCi0gICAgICAgIDB4ZDksIDB4ZDYsIDB4ZmIsIDB4ZjcsIDB4ZDUsCi0gICAgICAgIDB4ZmYsIDB4ZmEsIDB4YmYsIDB4ZmYsIDB4YWUsIDB4ZDcsIDB4ZjgsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4OGQsIDB4ZmYsCi0gICAgICAgIDB4ZjEsIDB4YmUsIDB4YmUsIDB4ZmQsIDB4ZWYsCi0gICAgICAgIDB4N2YsIDB4ZmUsIDB4YmYsIDB4ZmIsIDB4YmYsIDB4ZWQsIDB4YjgsIDB4ZDcsCi0gICAgICAgIDB4ZWEsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZjcsIDB4M2YsIDB4YWQsIDB4M2IsCi0gICAgICAgIDB4YjEsIDB4ZWYsIDB4NmYsIDB4NmUsIDB4ZmEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmMsIDB4ZmIsIDB4ZjksIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4ZWYsIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZWYsIDB4YjcsIDB4ZjMsCi0gICAgICAgIDB4YWYsIDB4N2UsIDB4ZmQsIDB4ZmUsIDB4ZjcsCi0gICAgICAgIDB4M2YsIDB4NDgsIDB4ZmQsIDB4ZjMsIDB4ZjMsIDB4ZmYsIDB4Y2YsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4MGUsIDB4M2YsIDB4YzEsIDB4ZmQsIDB4ZjMsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4Y2YsIDB4OWYsIDB4ZmYsIDB4OGEsIDB4NmQsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2EsIDB4ZmYsIDB4NzcsIDB4ZmYsIDB4ZGYsIDB4Y2YsCi0gICAgICAgIDB4ZWYsIDB4OGYsIDB4ZGQsIDB4YjEsIDB4ZmIsIDB4ZjcsIDB4ZjcsIDB4ZjcsCi0gICAgICAgIDB4ZGUsIDB4YmYsIDB4NGUsIDB4MGYsIDB4M2IsCi0gICAgICAgIDB4YmYsIDB4ZmMsIDB4ZmMsIDB4ZjcsIDB4N2YsIDB4ZmYsIDB4ZTcsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4YmYsIDB4YmQsIDB4ZjAsIDB4ZjYsIDB4ZmIsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4ZWUsIDB4ZmYsIDB4ZmYsIDB4OWQsIDB4MWYsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2IsIDB4ZmYsIDB4ZjcsIDB4ZmUsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4YmYsIDB4YmYsIDB4ZjcsIDB4ZjIsIDB4ZWIsIDB4ZmYsIDB4ZmYsIDB4ZjksCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4MGYsIDB4NzksCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmIsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4Y2UsCi0gICAgICAgIDB4ZGYsIDB4ZjcsIDB4ZmYsIDB4ZDMsIDB4ZWUsIDB4ZjMsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZjcsIDB4OTEsIDB4ZWYsIDB4ZjEsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4ZmEsIDB4N2YsIDB4ZjgsIDB4ZjUsIDB4ZmYsIDB4Y2YsIDB4ZmYsCi0gICAgICAgIDB4ZjksIDB4ZjcsIDB4ZjUsIDB4ZGYsIDB4ZmYsIDB4ZjEsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4OWYsIDB4NzksIDB4ZjgsIDB4ZjcsIDB4ZmIsCi0gICAgICAgIDB4N2YsIDB4ZDgsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4YWUsIDB4ZGYsIDB4ZjAsIDB4ZWIsIDB4ZjMsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ODcsIDB4NzgsCi0gICAgICAgIDB4YmYsIDB4ZmMsIDB4N2IsIDB4ZmMsIDB4ZjUsIDB4ZmYsIDB4Y2YsIDB4Y2YsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4YTcsIDB4ZjMsIDB4ZWMsIDB4ZmYsIDB4ZTksIDB4ZmYsCi0gICAgICAgIDB4OWYsIDB4ODcsIDB4YjgsIDB4YmYsIDB4Y2YsCi0gICAgICAgIDB4ZmYsIDB4MWQsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4Y2YsIDB4Y2YsIDB4ZjQsIDB4ZmYsIDB4ZmIsIDB4ZmQsIDB4ZmYsIDB4OWYsCi0gICAgICAgIDB4ZmYsIDB4ZjksIDB4YWUsIDB4NmYsIDB4ZjgsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4OGYsIDB4Y2YsIDB4Y2UsCi0gICAgICAgIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4ZjIsIDB4ZmIsIDB4ZjYsIDB4ZmYsIDB4OWYsCi0gICAgICAgIDB4OGYsIDB4OWYsIDB4ZjcsIDB4YmYsIDB4N2UsCi0gICAgICAgIDB4M2YsIDB4ZDMsIDB4ZmYsIDB4ZmIsIDB4OGYsIDB4MGYsIDB4ZjAsIDB4ZGUsCi0gICAgICAgIDB4ZmYsIDB4ZmQsIDB4MjYsIDB4Y2YsIDB4N2YsIDB4ZjQsIDB4OGYsIDB4MWUsCi0gICAgICAgIDB4ZjEsIDB4OTksIDB4NzcsIDB4ZWYsIDB4YjAsCi0gICAgICAgIDB4ZmYsIDB4OTMsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4Y2YsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4YWYsIDB4NGQsIDB4ODUsIDB4ZjYsIDB4ZjIsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4OWYsIDB4ZmYsIDB4ZmUsIDB4OWYsIDB4M2YsCi0gICAgICAgIDB4ZmYsIDB4ODUsIDB4ZmYsIDB4ZjQsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4YmYsIDB4Y2UsIDB4YWIsIDB4NzcsIDB4ZmMsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4OWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MjUsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmQsIDB4ZmUsIDB4Y2YsIDB4ZDUsIDB4Y2UsCi0gICAgICAgIDB4ZmYsIDB4NzcsIDB4ZjgsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4OWYsCi0gICAgICAgIDB4OTksIDB4OGYsIDB4ZTEsIDB4NmYsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZjYsIDB4MGYsIDB4ODQsIDB4OTgsCi0gICAgICAgIDB4ZjAsIDB4YjAsIDB4ZmYsIDB4ZGYsIDB4ZWYsIDB4ZmYsIDB4ZTcsIDB4OWUsCi0gICAgICAgIDB4MDcsIDB4OGYsIDB4NjEsIDB4YzMsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4YmYsIDB4ZmYsIDB4YmUsIDB4ZmYsIDB4ZjIsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4Y2YsIDB4ZjcsIDB4YjcsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmUsCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZTEsIDB4YmYsIDB4ZjUsCi0gICAgICAgIDB4YmYsIDB4ODcsIDB4YjgsIDB4ZjgsIDB4YjYsIDB4NWYsIDB4ZjYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZTAsIDB4ZjAsIDB4ZjcsIDB4OWYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmUsIDB4Y2YsIDB4ZGUsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4OWYsCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmUsIDB4ZWYsIDB4ZjYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4OWUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4ZmYsIDB4YmUsIDB4ZmYsIDB4ZmEsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmUsCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4N2YsIDB4YmUsIDB4ZmYsIDB4YjYsIDB4Y2YsCi0gICAgICAgIDB4ZmEsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGUsIDB4ZmYsIDB4ZjEsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4OGYsIDB4ZGYsIDB4YjQsIDB4OGQsIDB4ZWYsIDB4ZTgsCi0gICAgICAgIDB4ZjUsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4MGYsIDB4M2IsIDB4NzEsIDB4YWYsCi0gICAgICAgIDB4NjcsIDB4ZjcsIDB4ZWEsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4YWYsIDB4ZDUsIDB4ZmYsIDB4ZjcsIDB4MGYsIDB4ZmYsCi0gICAgICAgIDB4MDAsIDB4YmYsIDB4ZjAsIDB4N2YsIDB4NWYsIDB4YmQsIDB4NzUsIDB4ZmYsCi0gICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4N2YsIDB4ZDEsCi0gICAgICAgIDB4ZmYsIDB4YmYsIDB4ZWYsIDB4ZmUsIDB4YWEsIDB4MGMsIDB4NjgsIDB4ZjAsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4NWYsIDB4YmQsIDB4ZWYsIDB4ZWYsIDB4YWYsIDB4MGIsCi0gICAgICAgIDB4NzcsIDB4YjksIDB4ZmYsIDB4ZmYsIDB4ZmQsCi0gICAgICAgIDB4M2YsIDB4ZTMsIDB4ZWUsIDB4ZGIsIDB4ZmYsIDB4ZTAsIDB4YmIsIDB4ZmUsCi0gICAgICAgIDB4ZGIsIDB4ZjcsIDB4M2UsIDB4ZWYsIDB4ZTUsIDB4OWIsIDB4N2IsIDB4ZGQsCi0gICAgICAgIDB4MzcsIDB4M2QsIDB4Y2YsIDB4ZjcsIDB4YmUsCi0gICAgICAgIDB4ZmYsIDB4ZWIsIDB4YjcsIDB4ZmYsIDB4MmYsIDB4YmUsIDB4ZmQsIDB4YjEsCi0gICAgICAgIDB4ZGYsIDB4Y2YsIDB4N2IsIDB4OTcsIDB4N2YsIDB4YWIsIDB4N2YsIDB4ZmYsCi0gICAgICAgIDB4N2UsIDB4ZjMsIDB4ZmYsIDB4OWQsIDB4YmIsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4MDcsIDB4ZmYsIDB4OTAsIDB4ZWMsIDB4ZjAsIDB4ZmYsCi0gICAgICAgIDB4ZmQsIDB4ZjUsIDB4ZmYsIDB4N2YsIDB4ZGYsIDB4ZGYsIDB4ODEsIDB4MmUsCi0gICAgICAgIDB4ZjEsIDB4ZmYsIDB4YmYsIDB4ZWIsIDB4ZmEsCi0gICAgICAgIDB4ZmYsIDB4YjcsIDB4NTcsIDB4YjgsIDB4YTcsIDB4ZGUsIDB4YmIsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmEsIDB4ZTcsIDB4ZWEsIDB4YjUsIDB4N2YsIDB4ZjYsCi0gICAgICAgIDB4ZjUsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4YmYsCi0gICAgICAgIDB4YmYsIDB4ZmUsIDB4ZjMsIDB4YWYsIDB4YTksIDB4ZDYsIDB4ZjQsIDB4ZGYsCi0gICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4ZmEsIDB4ZDUsIDB4ZmYsIDB4OTksIDB4M2YsCi0gICAgICAgIDB4NzcsIDB4ZmYsIDB4YmYsIDB4ZmIsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ODcsIDB4ZmYsIDB4YjgsIDB4ZmQsIDB4ZmMsIDB4ZjcsCi0gICAgICAgIDB4ZmIsIDB4ZmUsIDB4ZmUsIDB4ZmYsIDB4YWYsIDB4M2YsIDB4NjksIDB4ZTYsCi0gICAgICAgIDB4ZmIsIDB4NWYsIDB4ZmYsIDB4ZmYsIDB4ZGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZmIsIDB4Y2IsIDB4N2YsIDB4YmYsIDB4OWYsCi0gICAgICAgIDB4NjcsIDB4YmIsIDB4ZmYsIDB4NzcsIDB4YmYsIDB4N2YsIDB4ZmQsIDB4ZGYsCi0gICAgICAgIDB4ZGYsIDB4ZWYsIDB4ZmQsIDB4NWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4MWIsIDB4OWQsIDB4ZDAsIDB4NzAsIDB4N2IsIDB4ZmYsCi0gICAgICAgIDB4YmUsIDB4ZmMsIDB4N2YsIDB4NzgsIDB4OGYsIDB4NGQsIDB4YTksIDB4NzUsCi0gICAgICAgIDB4M2YsIDB4N2YsIDB4ZmYsIDB4ZWIsIDB4NjUsCi0gICAgICAgIDB4YmYsIDB4N2YsIDB4YjYsIDB4ZGYsIDB4YjQsIDB4NzYsIDB4NTksIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZDQsIDB4YTcsIDB4N2YsIDB4ZDIsIDB4ZmYsIDB4ZTksIDB4ZGYsCi0gICAgICAgIDB4ZmQsIDB4ZDcsIDB4ZmYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4YmYsIDB4ZmYsIDB4ZjQsIDB4ZWYsCi0gICAgICAgIDB4ZGYsIDB4YjcsIDB4ZjgsIDB4ZGYsIDB4ZGYsIDB4N2YsIDB4OGYsIDB4N2UsCi0gICAgICAgIDB4ZjEsIDB4YmEsIDB4YmYsIDB4OTYsIDB4ZWYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4OGIsIDB4ZjcsIDB4ZTAsIDB4ZjgsCi0gICAgICAgIDB4ZWYsIDB4N2YsIDB4ZjIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWUsIDB4YjcsCi0gICAgICAgIDB4ZjEsIDB4ZjcsIDB4NWYsIDB4N2YsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4YmYsIDB4ZGMsIDB4ZmUsIDB4ZjUsIDB4ZmYsCi0gICAgICAgIDB4ZmMsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4ZTksIDB4ZjYsCi0gICAgICAgIDB4ZjksIDB4NWYsIDB4ZmIsIDB4ZmIsIDB4ZmYsCi0gICAgICAgIDB4M2YsIDB4NzgsIDB4Y2MsIDB4ZjMsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZGIsCi0gICAgICAgIDB4ZmIsIDB4MmYsIDB4MmIsIDB4ZjEsIDB4ZjUsIDB4ZmYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4YzYsIDB4NGYsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4NWIsIDB4ZGYsIDB4N2YsIDB4ZGYsIDB4ZmYsIDB4YWYsCi0gICAgICAgIDB4Y2IsIDB4OGUsIDB4ZjUsIDB4YjUsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmUsIDB4OWYsIDB4NGUsIDB4NGYsIDB4NzksCi0gICAgICAgIDB4YmYsIDB4ZmMsIDB4ZGUsIDB4ZjcsIDB4NzcsIDB4ZGYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZWYsIDB4OGYsIDB4ZmYsIDB4OTksIDB4ZWIsIDB4ZmQsIDB4ZTUsIDB4ZmYsCi0gICAgICAgIDB4ZmMsIDB4ZjMsIDB4ZGYsIDB4ZGYsIDB4N2IsCi0gICAgICAgIDB4ZmYsIDB4ZmMsIDB4NWQsIDB4ZGYsIDB4ZDMsIDB4ZGYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OWYsIDB4OWEsIDB4ZjAsIDB4ZTcsIDB4ZmYsIDB4ZTksIDB4ZjEsCi0gICAgICAgIDB4ZmQsIDB4ZmYsIDB4ZTIsIDB4NmYsIDB4N2QsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZmMsIDB4ZjcsIDB4ZmYsIDB4ZjcsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZjksIDB4YWYsIDB4ZmQsIDB4ZjgsIDB4ZTMsIDB4ZmYsCi0gICAgICAgIDB4ZmIsIDB4ODksIDB4ZmYsIDB4ZjEsIDB4ZjgsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4NWYsIDB4ZmYsIDB4ZDcsIDB4ZGYsIDB4YTcsIDB4ZmYsCi0gICAgICAgIDB4YzgsIDB4YmYsIDB4YmUsIDB4OGQsIDB4ZmUsIDB4ZmMsIDB4ZTksIDB4ZmYsCi0gICAgICAgIDB4OWIsIDB4NjEsIDB4ZmUsIDB4ZjMsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZDgsIDB4ZGYsIDB4ZjcsIDB4ZDcsIDB4ZmYsIDB4YWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ODQsIDB4ZWYsIDB4ZjYsIDB4ZTksIDB4ZmYsCi0gICAgICAgIDB4ZDksIDB4OGQsIDB4ZmYsIDB4YjcsIDB4NzgsCi0gICAgICAgIDB4YmYsIDB4ZmMsIDB4NWIsIDB4ZmMsIDB4ZjUsIDB4ZGYsIDB4ZGYsIDB4OGYsCi0gICAgICAgIDB4YWYsIDB4ODcsIDB4ZjcsIDB4ZDIsIDB4ZWQsIDB4ZmYsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4YjEsIDB4ODUsIDB4YmMsIDB4YmQsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4YmUsIDB4N2YsIDB4ZjUsIDB4ZmYsIDB4OWYsIDB4ZmYsIDB4ZmIsCi0gICAgICAgIDB4OGYsIDB4ZmYsIDB4ZjQsIDB4ZWYsIDB4ZmEsIDB4ZjUsIDB4ZmYsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4ZmIsIDB4OWUsIDB4NWYsIDB4ZjAsCi0gICAgICAgIDB4ZmYsIDB4NTgsIDB4ZmEsIDB4ZmIsIDB4ZmYsIDB4OWYsIDB4OWYsIDB4OGYsCi0gICAgICAgIDB4ZjcsIDB4YWYsIDB4ZmYsIDB4OTMsIDB4ZmIsIDB4ZmUsIDB4ZmYsIDB4YmYsCi0gICAgICAgIDB4YWYsIDB4YmYsIDB4ZjEsIDB4Y2YsIDB4NWYsCi0gICAgICAgIDB4M2YsIDB4YzMsIDB4ZmQsIDB4ZjksIDB4OGYsIDB4MWYsIDB4YjAsIDB4YmYsCi0gICAgICAgIDB4YmYsIDB4ZWIsIDB4NmYsIDB4ZWYsIDB4NzcsIDB4ZjUsIDB4OGYsIDB4M2UsCi0gICAgICAgIDB4ZjEsIDB4OTksIDB4NjMsIDB4YWYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4YjAsIDB4N2YsIDB4ZmMsIDB4ZmYsIDB4N2YsIDB4OGYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OWYsIDB4N2YsIDB4ZmMsIDB4ZjUsIDB4ZjEsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZGUsIDB4OWYsIDB4N2IsCi0gICAgICAgIDB4ZmYsIDB4ODYsIDB4ZmYsIDB4ZmMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZWIsIDB4NzUsIDB4ZjUsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4YWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NmIsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4Y2YsIDB4ZjcsIDB4YzcsIDB4OWYsIDB4YjMsIDB4OGIsCi0gICAgICAgIDB4ZWIsIDB4NzcsIDB4ZmUsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4YmYsCi0gICAgICAgIDB4YjEsIDB4OGYsIDB4ZTMsIDB4NmYsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmIsIDB4ZmQsIDB4MWYsIDB4ODUsIDB4OWUsCi0gICAgICAgIDB4ZDAsIDB4OTAsIDB4ZjcsIDB4YmIsIDB4ZmYsIDB4ZmUsIDB4ZGYsIDB4YWUsCi0gICAgICAgIDB4MGYsIDB4ZWQsIDB4NzEsIDB4ZmIsIDB4ZmQsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4ZTcsIDB4YmYsIDB4ZjUsIDB4ZmIsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjksIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmUsCi0gICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZjMsIDB4YmYsIDB4ZmQsCi0gICAgICAgIDB4YmYsIDB4ODYsIDB4ZTgsIDB4ZjAsIDB4ZmYsIDB4N2YsIDB4ZjUsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4OGYsIDB4OGYsIDB4ZDAsIDB4ZjAsIDB4ZGYsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmUsIDB4ZWYsIDB4YWYsIDB4ZjUsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4YWYsCi0gICAgICAgIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZjcsIDB4Y2YsIDB4ZmYsIDB4ZmQsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZWUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4YWYsIDB4ZjUsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4YmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmUsIDB4Y2YsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmQsIDB4OGYsCi0gICAgICAgIDB4ZmEsIDB4ZTUsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGUsIDB4ZmYsIDB4ZjEsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4MGUsIDB4ZGYsIDB4ZmEsIDB4OGYsIDB4YjMsIDB4ZjAsCi0gICAgICAgIDB4ZGYsIDB4ZmYsIDB4ZmEsIDB4ZmYsIDB4MGYsIDB4N2IsIDB4NzEsIDB4ODcsCi0gICAgICAgIDB4NWYsIDB4ZjEsIDB4ZmUsIDB4ZjcsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4MWYsIDB4N2YsIDB4ODMsIDB4ZmYsIDB4ZWYsIDB4MGYsIDB4ZmYsCi0gICAgICAgIDB4MDAsIDB4ZWYsIDB4ZTAsIDB4ZGQsIDB4NWYsIDB4YjcsIDB4N2YsIDB4ZjEsCi0gICAgICAgIDB4OGYsIDB4N2QsIDB4ODEsIDB4NjcsIDB4ZTEsCi0gICAgICAgIDB4ZmYsIDB4ZjksIDB4YWYsIDB4ZmQsIDB4OWMsIDB4NWEsIDB4N2EsIDB4ZmEsCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4OGYsIDB4ZWEsIDB4YjksIDB4NmYsCi0gICAgICAgIDB4NjEsIDB4ZjEsIDB4ZjMsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4M2YsIDB4ZTcsIDB4ZjksIDB4ZGYsIDB4YmEsIDB4NmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4NGUsIDB4ZmUsIDB4MWUsIDB4ZWUsIDB4ZmQsIDB4ZWYsIDB4NzMsIDB4ZWQsCi0gICAgICAgIDB4ZmQsIDB4NWIsIDB4N2QsIDB4ZjcsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4NjIsIDB4ZjcsIDB4ZGQsIDB4ZmYsIDB4YmUsIDB4ZmIsIDB4ZmQsCi0gICAgICAgIDB4ZmYsIDB4OTUsIDB4N2IsIDB4YmUsIDB4N2UsIDB4YjUsIDB4N2YsIDB4ZDMsCi0gICAgICAgIDB4N2UsIDB4ZmIsIDB4ZWYsIDB4MWQsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4Y2YsIDB4ZmYsIDB4ZWIsIDB4ZGYsIDB4ZTIsIDB4YmUsCi0gICAgICAgIDB4N2IsIDB4ZWIsIDB4ZmYsIDB4NzMsIDB4MGYsIDB4OWYsIDB4ODUsIDB4NzYsCi0gICAgICAgIDB4NzUsIDB4ZGYsIDB4ZjYsIDB4NmIsIDB4ZmIsCi0gICAgICAgIDB4ZmYsIDB4MWYsIDB4ZTEsIDB4ZmEsIDB4ZGYsIDB4ZWIsIDB4ZGYsIDB4ZmIsCi0gICAgICAgIDB4ZGYsIDB4ZmYsIDB4ZmUsIDB4ZWYsIDB4ZGMsIDB4YTMsIDB4N2QsIDB4ZTYsCi0gICAgICAgIDB4ZmQsIDB4ZWYsIDB4ZmUsIDB4ZjcsIDB4ZDUsCi0gICAgICAgIDB4YmYsIDB4N2YsIDB4ZjYsIDB4ZmYsIDB4YTYsIDB4YmUsIDB4ZjIsIDB4YmYsCi0gICAgICAgIDB4N2YsIDB4ZmQsIDB4YzMsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4OGYsIDB4NWYsCi0gICAgICAgIDB4ZjUsIDB4ZjcsIDB4ZWYsIDB4ZmYsIDB4YWYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ODcsIDB4YmYsIDB4ZjIsIDB4ZTcsIDB4ZWUsIDB4ZGEsCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4YWYsIDB4NmIsIDB4NjksIDB4ZjQsCi0gICAgICAgIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4NmYsIDB4ZmIsIDB4OTcsIDB4ZWYsIDB4ZmIsIDB4ZmIsCi0gICAgICAgIDB4M2QsIDB4ZmYsIDB4YmUsIDB4ZmIsIDB4ZjcsIDB4N2UsIDB4YjksIDB4OWYsCi0gICAgICAgIDB4ZmYsIDB4Y2YsIDB4YWYsIDB4NTcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZDgsIDB4MTgsIDB4OGUsIDB4ZjIsIDB4ZjIsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4OWUsIDB4ZWYsIDB4NmYsIDB4N2UsIDB4YmYsIDB4MGIsIDB4ZjUsIDB4NzMsCi0gICAgICAgIDB4N2QsIDB4N2YsIDB4NWYsIDB4ZWYsIDB4YjMsCi0gICAgICAgIDB4YmYsIDB4N2YsIDB4ZDUsIDB4OTcsIDB4ZjIsIDB4ZWEsIDB4N2YsIDB4ZjcsCi0gICAgICAgIDB4ZmUsIDB4ZDUsIDB4ODcsIDB4NWYsIDB4YmYsIDB4OGYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZjMsIDB4ZmYsIDB4YjcsIDB4Y2YsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4M2YsIDB4OTMsIDB4ZmYsIDB4ZjAsIDB4YWYsCi0gICAgICAgIDB4ZmUsIDB4MzUsIDB4ZjksIDB4ZmYsIDB4YmYsIDB4N2IsIDB4OGYsIDB4N2UsCi0gICAgICAgIDB4YjUsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZWYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4N2YsIDB4N2YsIDB4OGYsIDB4ZWYsIDB4ZmEsIDB4ZDksCi0gICAgICAgIDB4ZmYsIDB4N2EsIDB4ZjgsIDB4ZmYsIDB4YTUsIDB4YzYsIDB4OGEsIDB4ZTcsCi0gICAgICAgIDB4ZjMsIDB4Y2YsIDB4NWYsIDB4YmYsIDB4ZWMsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4Y2YsIDB4YmMsIDB4ZmEsIDB4YmYsIDB4ZmYsCi0gICAgICAgIDB4ZmUsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmQsIDB4ZjYsCi0gICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmQsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4YWUsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZmIsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4ZGIsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4N2YsIDB4OWYsIDB4Y2YsIDB4ZjAsCi0gICAgICAgIDB4NzEsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjksIDB4Y2YsCi0gICAgICAgIDB4MmYsIDB4NzEsIDB4ZjQsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4M2YsIDB4N2EsIDB4ZmEsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4YWYsCi0gICAgICAgIDB4ZjUsIDB4MGIsIDB4MDEsIDB4ZjEsIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4Y2YsIDB4YmYsIDB4YWYsIDB4OGEsIDB4NWUsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmQsIDB4N2QsIDB4ZmYsIDB4ZWYsIDB4ZWYsCi0gICAgICAgIDB4YmQsIDB4OWUsIDB4ZGYsIDB4ZmQsIDB4YmYsIDB4YmQsIDB4YmQsIDB4ZmQsCi0gICAgICAgIDB4Y2MsIDB4YmYsIDB4NGUsIDB4MGQsIDB4MzUsCi0gICAgICAgIDB4ZmYsIDB4ZmUsIDB4ZmUsIDB4ZjcsIDB4NWYsIDB4ZGYsIDB4ZmYsIDB4ZjcsCi0gICAgICAgIDB4YjcsIDB4OGYsIDB4YzcsIDB4ZjEsIDB4YmYsIDB4ZjksIDB4YmYsIDB4ZmYsCi0gICAgICAgIDB4ZmMsIDB4ZjcsIDB4ZWYsIDB4MGYsIDB4MWYsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4NWQsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YzcsIDB4OGYsIDB4ZmYsIDB4ZjksIDB4YmYsIDB4ZmYsIDB4YmQsIDB4ZjUsCi0gICAgICAgIDB4ZmQsIDB4ZmYsIDB4YzYsIDB4OGYsIDB4NzUsCi0gICAgICAgIDB4YmYsIDB4ZmEsIDB4ZGYsIDB4YmEsIDB4ZGQsIDB4ZmYsIDB4ZmQsIDB4YWQsCi0gICAgICAgIDB4ZmYsIDB4ZGQsIDB4YjcsIDB4ZGIsIDB4ZjksIDB4ZjMsIDB4ZmYsIDB4ZGYsCi0gICAgICAgIDB4ZjksIDB4Y2QsIDB4ZmYsIDB4ZmQsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4NWYsIDB4ZmEsIDB4ZGYsIDB4ZmYsIDB4ZWQsIDB4YmYsCi0gICAgICAgIDB4ZmEsIDB4ZmQsIDB4ZmIsIDB4ZGYsIDB4ZmYsIDB4ZjMsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YTksIDB4NzcsIDB4ZjIsIDB4ZmQsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZjgsIDB4OWEsIDB4ZjcsIDB4ZGYsIDB4ZmYsIDB4ZTcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGIsIDB4ZGYsIDB4ZGMsIDB4ZjcsIDB4ZmQsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZTUsIDB4YmYsIDB4ZmYsIDB4ODksIDB4NWMsCi0gICAgICAgIDB4YmYsIDB4ZmUsIDB4OTksIDB4ZmUsIDB4ZGIsIDB4ZmYsIDB4ZjcsIDB4ZWQsCi0gICAgICAgIDB4ZWYsIDB4YzUsIDB4YWYsIDB4ZjEsIDB4ZGUsIDB4ZmYsIDB4ZjcsIDB4ZGYsCi0gICAgICAgIDB4ZGQsIDB4YzcsIDB4ZmUsIDB4ZmQsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4OTYsIDB4ZmYsIDB4ZjUsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OWYsCi0gICAgICAgIDB4YWYsIDB4ZjcsIDB4ZDAsIDB4YTcsIDB4ZjEsIDB4ZmMsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZGQsIDB4YWUsIDB4N2YsIDB4ZjksCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4ZjUsIDB4OGQsIDB4ZGYsIDB4ZjQsIDB4ZjcsIDB4ZmIsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZGYsIDB4ZmQsIDB4ZjcsIDB4OGUsIDB4N2YsCi0gICAgICAgIDB4M2YsIDB4ZjcsIDB4ZmQsIDB4ZjksIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZmYsCi0gICAgICAgIDB4YmQsIDB4YmYsIDB4NmYsIDB4OWYsIDB4N2MsIDB4ZjMsIDB4OGYsIDB4N2UsCi0gICAgICAgIDB4ZjEsIDB4ZmQsIDB4NTcsIDB4ZmIsIDB4YWUsCi0gICAgICAgIDB4ZmYsIDB4ODgsIDB4N2QsIDB4ZmMsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmQsIDB4YmYsIDB4NTcsIDB4YWMsIDB4ZmIsIDB4ZjgsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZGYsIDB4NjcsCi0gICAgICAgIDB4ZmYsIDB4ODYsIDB4ZmQsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4YWYsIDB4ZmUsIDB4YWQsIDB4N2IsIDB4ZmUsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4M2YsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4ZGYsIDB4ZjcsIDB4YmYsIDB4ZmYsIDB4ZmIsIDB4ZmYsCi0gICAgICAgIDB4OGQsIDB4MzUsIDB4ZmMsIDB4ZjYsIDB4ZmYsIDB4ZmYsIDB4YmQsIDB4ZmYsCi0gICAgICAgIDB4ZDMsIDB4ZGQsIDB4YTUsIDB4N2YsIDB4ZjUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OWQsIDB4MmYsIDB4Y2QsIDB4OGEsCi0gICAgICAgIDB4ZDAsIDB4ZjAsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmQsIDB4YWUsCi0gICAgICAgIDB4NGQsIDB4MDksIDB4NTEsIDB4ZWIsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmQsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmQsIDB4YmQsIDB4ZmUsCi0gICAgICAgIDB4ZjksIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZjYsCi0gICAgICAgIDB4YmYsIDB4ODcsIDB4ZjgsIDB4ZjAsIDB4ZmQsIDB4N2YsIDB4ZmYsIDB4ZmQsCi0gICAgICAgIDB4ZGYsIDB4ZGYsIDB4ODcsIDB4OGYsIDB4ZjAsIDB4ZjAsIDB4OWQsIDB4ZGYsCi0gICAgICAgIDB4ZmQsIDB4ZmQsIDB4Y2YsIDB4ZGYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZjcsIDB4ZWYsIDB4ZWQsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmQsIDB4ZmYsCi0gICAgICAgIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZTcsIDB4ZmYsIDB4ZjcsIDB4ZGQsIDB4ZmYsIDB4ZmYsIDB4ZWYsCi0gICAgICAgIDB4ZGIsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZjcsIDB4YmQsIDB4ZmUsCi0gICAgICAgIDB4ZmQsIDB4ZWYsIDB4ZGIsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmQsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZGYsIDB4ZDcsIDB4ZmYsIDB4NzcsIDB4ZmYsIDB4YmQsIDB4ZmUsCi0gICAgICAgIDB4ZmQsIDB4ZmYsIDB4ZWYsIDB4ZGYsIDB4Y2YsCi0gICAgICAgIDB4ZmYsIDB4ZTcsIDB4ZmYsIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZGYsCi0gICAgICAgIDB4ZGUsIDB4ZjUsIDB4ZGYsIDB4ZDcsIDB4ZjcsIDB4ZjcsIDB4YmQsIDB4ZmYsCi0gICAgICAgIDB4ZmQsIDB4NWUsIDB4ZGYsIDB4ZjUsIDB4Y2YsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4OWYsIDB4N2EsIDB4ZjAsIDB4ZjcsIDB4ZmYsIDB4ZjAsCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4YmUsIDB4ZmYsIDB4YWYsIDB4NmYsIDB4ZjEsIDB4OGYsCi0gICAgICAgIDB4N2QsIDB4ZjksIDB4ZmUsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4N2YsIDB4ZmIsIDB4YjYsIDB4ZmYsIDB4ZjUsIDB4OGYsIDB4ZmYsCi0gICAgICAgIDB4MDAsIDB4YmYsIDB4ZDAsIDB4NmYsIDB4YWYsIDB4ZmUsIDB4NzcsIDB4ZmQsCi0gICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4NWQsIDB4ZTEsCi0gICAgICAgIDB4ZmYsIDB4OWIsIDB4N2YsIDB4ZDksIDB4YzgsIDB4MGEsIDB4NzQsIDB4ZmMsCi0gICAgICAgIDB4ZjUsIDB4N2YsIDB4N2YsIDB4ZmYsIDB4OWYsIDB4N2IsIDB4Y2IsIDB4ZWIsCi0gICAgICAgIDB4NzUsIDB4ZjEsIDB4ZjcsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZTcsIDB4NmQsIDB4OWYsIDB4ZmUsIDB4ZmYsIDB4YTUsIDB4ZTksCi0gICAgICAgIDB4N2UsIDB4N2EsIDB4YTgsIDB4ZGYsIDB4ZjMsIDB4ZmQsIDB4NzMsIDB4YWQsCi0gICAgICAgIDB4YmQsIDB4ZGIsIDB4ZmYsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZDIsIDB4NzcsIDB4ZmYsIDB4NGQsIDB4OGUsIDB4ZmYsIDB4OWYsCi0gICAgICAgIDB4ZmYsIDB4ZGYsIDB4NmUsIDB4ZjgsIDB4NjcsIDB4ZjEsIDB4Y2YsIDB4OTcsCi0gICAgICAgIDB4M2UsIDB4ZjcsIDB4ZTcsIDB4ZmUsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGQsIDB4ZmYsIDB4OGYsIDB4ZGYsIDB4ZjIsIDB4ZWUsCi0gICAgICAgIDB4ZjcsIDB4NjUsIDB4ZmUsIDB4ZWYsIDB4MmYsIDB4YWYsIDB4ZTcsIDB4ZmYsCi0gICAgICAgIDB4ZjMsIDB4ZmYsIDB4N2YsIDB4YmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4YmYsIDB4NjcsIDB4ZjQsIDB4ZWYsIDB4OWYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4NWYsIDB4OGUsIDB4ZmYsIDB4ZjgsIDB4ZWYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4NzcsIDB4ZmYsIDB4ZWUsIDB4YjUsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4MTIsIDB4ZmYsIDB4YzIsIDB4ZGUsIDB4ZjIsIDB4ZjcsCi0gICAgICAgIDB4MmYsIDB4YmUsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NmIsIDB4N2IsCi0gICAgICAgIDB4NzEsIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4ZGUsCi0gICAgICAgIDB4ZmYsIDB4N2IsIDB4MDMsIDB4ZGYsIDB4YjIsIDB4ZjcsIDB4ZjYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGIsIDB4ZmYsIDB4Y2YsIDB4NmYsIDB4ZDcsIDB4YWYsCi0gICAgICAgIDB4ZmYsIDB4ZmIsIDB4ZmQsIDB4NzcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4Y2YsIDB4N2YsIDB4ZmYsIDB4ZWYsIDB4ZWIsIDB4OWIsCi0gICAgICAgIDB4NjUsIDB4ZjcsIDB4ZjYsIDB4N2YsIDB4ZTcsIDB4N2QsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4YzUsIDB4ZmIsIDB4NTksIDB4ZmIsCi0gICAgICAgIDB4ZmYsIDB4M2EsIDB4MWYsIDB4MmYsIDB4ZGMsIDB4ZjQsIDB4ZWYsIDB4ZWUsCi0gICAgICAgIDB4Y2UsIDB4YWUsIDB4NmYsIDB4M2MsIDB4MGQsIDB4MGYsIDB4NjEsIDB4MzUsCi0gICAgICAgIDB4ZGYsIDB4N2YsIDB4YmIsIDB4YmYsIDB4NzcsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YjIsIDB4YmYsIDB4N2UsIDB4ZTYsIDB4ZmQsIDB4ZmYsCi0gICAgICAgIDB4N2EsIDB4ZGQsIDB4ZTcsIDB4ZmYsIDB4ZGEsIDB4YWYsIDB4NzEsIDB4ZGYsCi0gICAgICAgIDB4ZWYsIDB4YjQsIDB4ZWYsIDB4ZWIsIDB4OGIsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGIsIDB4ZmYsIDB4OWYsIDB4ZmQsIDB4ZjIsIDB4ZmQsCi0gICAgICAgIDB4ZGYsIDB4N2QsIDB4ZmIsIDB4ZmIsIDB4ZmYsIDB4YjcsIDB4ZWIsIDB4N2YsCi0gICAgICAgIDB4ZjMsIDB4ZmEsIDB4YmYsIDB4ZmUsIDB4ZGYsCi0gICAgICAgIDB4N2YsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4ZmIsIDB4ZjgsIDB4ZTMsCi0gICAgICAgIDB4ZWYsIDB4N2EsIDB4ZmEsIDB4N2YsIDB4ZmIsIDB4ZWYsIDB4N2YsIDB4YmYsCi0gICAgICAgIDB4ZDMsIDB4ZWQsIDB4N2UsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4M2YsIDB4YWYsIDB4ZjYsIDB4ZjgsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmUsIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZjMsCi0gICAgICAgIDB4YWYsIDB4ZmYsIDB4ZmIsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4M2YsIDB4NzgsIDB4YzgsIDB4ZjcsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmQsIDB4MGIsIDB4MmYsIDB4ZDEsIDB4YjksIDB4ZjcsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4Y2YsIDB4YmUsIDB4ZjcsIDB4ODYsIDB4MGYsCi0gICAgICAgIDB4YmYsIDB4ZjgsIDB4N2YsIDB4ZWYsIDB4NWIsIDB4ZmYsIDB4ZmYsIDB4YmQsCi0gICAgICAgIDB4Y2YsIDB4ODYsIDB4ZjksIDB4YjEsIDB4OWYsIDB4OTcsIDB4OWIsIDB4ZTMsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4NDYsIDB4Y2QsIDB4NzEsCi0gICAgICAgIDB4ZmYsIDB4YjgsIDB4Y2MsIDB4ZjcsIDB4NmIsIDB4YmYsIDB4ZjksIDB4ZGYsCi0gICAgICAgIDB4ZmYsIDB4ZWIsIDB4ZmYsIDB4ZTEsIDB4YjUsIDB4ZmIsIDB4OWIsIDB4ZWYsCi0gICAgICAgIDB4ZGIsIDB4ZTcsIDB4ZmYsIDB4OGYsIDB4MDcsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2QsIDB4ZmYsIDB4ZGIsIDB4ZmYsIDB4YjksIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4OWYsIDB4ZmQsIDB4ZjEsIDB4OTcsIDB4ZWYsIDB4OTcsIDB4ZjYsCi0gICAgICAgIDB4ZTcsIDB4ZjcsIDB4OGUsIDB4OGYsIDB4ZmMsCi0gICAgICAgIDB4ZmYsIDB4ZTcsIDB4Y2IsIDB4ZmQsIDB4ZWIsIDB4YmYsIDB4ZjksIDB4ZWYsCi0gICAgICAgIDB4ZmYsIDB4OGQsIDB4ZGYsIDB4OGIsIDB4YmIsIDB4ZjMsIDB4OTcsIDB4ZWYsCi0gICAgICAgIDB4ZmIsIDB4ZTcsIDB4ZGYsIDB4ZWIsIDB4ZmEsCi0gICAgICAgIDB4ZmYsIDB4ZmQsIDB4N2YsIDB4ZjksIDB4ZGIsIDB4ZmYsIDB4OWQsIDB4ZWYsCi0gICAgICAgIDB4YjIsIDB4ZmQsIDB4ZjMsIDB4OGYsIDB4YjcsIDB4ZjMsIDB4OWIsIDB4ZmYsCi0gICAgICAgIDB4OGYsIDB4N2YsIDB4ZmMsIDB4ZmIsIDB4ZmUsCi0gICAgICAgIDB4N2YsIDB4ZjgsIDB4OGIsIDB4ZmYsIDB4ZWIsIDB4ZmYsIDB4ZmIsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4OGIsIDB4Y2YsIDB4YzQsIDB4ZmYsIDB4ZjcsIDB4ODIsIDB4ZmUsCi0gICAgICAgIDB4ZjMsIDB4OWYsIDB4ZmYsIDB4OTMsIDB4N2UsCi0gICAgICAgIDB4YmYsIDB4ZmIsIDB4NzgsIDB4YjcsIDB4ZGIsIDB4ZmYsIDB4ZmYsIDB4Y2YsCi0gICAgICAgIDB4ZWYsIDB4ODUsIDB4YjcsIDB4YjMsIDB4ZGMsIDB4ZmYsIDB4OTYsIDB4ZmYsCi0gICAgICAgIDB4ZTcsIDB4Y2YsIDB4ZWUsIDB4ZWYsIDB4OTYsCi0gICAgICAgIDB4ZmYsIDB4YmYsIDB4N2YsIDB4YjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4Y2YsIDB4ZmYsIDB4ZDAsIDB4Y2YsIDB4ZmIsIDB4YjgsIDB4ZmYsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGUsIDB4NWYsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZmMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4Y2QsIDB4ZmYsIDB4ZmMsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZWYsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZjcsIDB4YWUsIDB4NmYsCi0gICAgICAgIDB4M2YsIDB4ZjcsIDB4ZmMsIDB4ZjMsIDB4OGYsIDB4N2YsIDB4YjAsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmUsIDB4NGYsIDB4OWYsIDB4N2MsIDB4ZmIsIDB4OGYsIDB4NmUsCi0gICAgICAgIDB4YjEsIDB4ZmYsIDB4YmYsIDB4ZmQsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ODgsIDB4N2IsIDB4ZmEsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4YmYsCi0gICAgICAgIDB4YmQsIDB4ZGYsIDB4NWYsIDB4OGMsIDB4ZmIsIDB4ZjEsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4YmYsIDB4ZWUsIDB4Y2YsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ODYsIDB4ZmIsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4NGYsIDB4YmYsIDB4ZmYsIDB4ODUsIDB4N2IsIDB4ZjgsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4YmYsIDB4ZWYsCi0gICAgICAgIDB4ZWYsIDB4NzksIDB4ZjQsIDB4YjcsIDB4ZmYsIDB4ZmYsIDB4ODMsIDB4YWYsCi0gICAgICAgIDB4YTcsIDB4ZmYsIDB4YjcsIDB4NzcsIDB4ZjksCi0gICAgICAgIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZjcsIDB4ZjcsIDB4MWYsIDB4ODMsIDB4YWUsCi0gICAgICAgIDB4ZjAsIDB4ZjQsIDB4ZmYsIDB4ZjMsIDB4ZGYsIDB4ZmYsIDB4ZjcsIDB4YWUsCi0gICAgICAgIDB4MGIsIDB4OTUsIDB4NzMsIDB4ZDEsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmIsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4ZmIsIDB4ZGYsIDB4ZmUsIDB4ZGIsIDB4ZmUsCi0gICAgICAgIDB4ZTcsIDB4ZmYsIDB4YzcsIDB4ZmYsIDB4ZjksCi0gICAgICAgIDB4M2YsIDB4ODcsIDB4ZjgsIDB4ZjgsIDB4ZjMsIDB4N2YsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZDAsIDB4ZjAsIDB4ZDcsIDB4YmYsCi0gICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4OGQsIDB4ZmYsIDB4ZjcsIDB4YmYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZDcsIDB4ZmYsCi0gICAgICAgIDB4ZjMsIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZjcsIDB4OGIsIDB4ZmYsIDB4ZjEsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZjMsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4Y2QsIDB4ZmYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZjMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4N2YsIDB4Y2IsIDB4ZmYsIDB4ZjEsIDB4Y2YsCi0gICAgICAgIDB4ZmUsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjMsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4Y2UsIDB4ZmYsIDB4ZjMsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGQsIDB4ZmIsIDB4YmIsIDB4YWEsIDB4ZmYsIDB4ZjgsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4NGYsIDB4MGYsIDB4NzEsIDB4ODksCi0gICAgICAgIDB4N2YsIDB4ZjgsIDB4ZGUsIDB4ZmYsIDB4ZmEsCi0gICAgICAgIDB4YmYsIDB4ZmIsIDB4NmYsIDB4YjYsIDB4ZmYsIDB4ZmIsIDB4MGYsIDB4ZmYsCi0gICAgICAgIDB4MDAsIDB4YmYsIDB4YzAsIDB4N2YsIDB4ZWYsIDB4ZDMsIDB4N2IsIDB4ZmQsCi0gICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4N2YsIDB4ZTEsCi0gICAgICAgIDB4ZmYsIDB4ZGQsIDB4ZWYsIDB4ZGQsIDB4OWQsIDB4MGYsIDB4NTYsIDB4ZjgsCi0gICAgICAgIDB4ZGYsIDB4ZGYsIDB4N2YsIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4NTcsCi0gICAgICAgIDB4NzEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZjcsIDB4ZjgsIDB4Y2YsIDB4ZmYsIDB4YjksIDB4ZDcsIDB4ZmIsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NWUsIDB4ZDEsIDB4ZmYsIDB4NmIsIDB4ZDUsCi0gICAgICAgIDB4ZmYsIDB4N2IsIDB4ZDUsIDB4ZmQsIDB4OWEsCi0gICAgICAgIDB4ZmYsIDB4ZmMsIDB4YjcsIDB4YmYsIDB4ZGUsIDB4MmYsIDB4ZmUsIDB4ZjQsCi0gICAgICAgIDB4ZWYsIDB4YzUsIDB4N2YsIDB4YTQsIDB4ZmYsIDB4ZGQsIDB4M2YsIDB4ZTEsCi0gICAgICAgIDB4N2UsIDB4ZjUsIDB4ZTcsIDB4YzcsIDB4ZmQsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YWIsIDB4YTcsIDB4OWUsIDB4ZGUsIDB4ZjgsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmIsIDB4MGYsIDB4ZWIsIDB4ZTMsIDB4N2IsCi0gICAgICAgIDB4NzEsIDB4ZTUsIDB4ZmYsIDB4M2YsIDB4ZmQsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4YjcsIDB4ZmMsIDB4ZmMsIDB4ZmIsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmQsIDB4ZGYsIDB4N2UsIDB4ZWIsIDB4M2YsIDB4ZDksCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4YmMsIDB4NmYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZDYsIDB4ZmYsIDB4YWYsIDB4ZjksIDB4ZDAsIDB4ZmUsCi0gICAgICAgIDB4ZWYsIDB4ZmUsIDB4YzcsIDB4ZmYsIDB4ZmQsIDB4Y2YsIDB4ODcsIDB4NWIsCi0gICAgICAgIDB4ZjksIDB4ZmQsIDB4ZWYsIDB4ZmYsIDB4MjksCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4YTcsIDB4YmYsIDB4ZTAsIDB4ZWUsIDB4ZjksIDB4OTcsCi0gICAgICAgIDB4ZmYsIDB4ZjksIDB4ZmUsIDB4ZmYsIDB4Y2YsIDB4M2YsIDB4NTksIDB4ZmQsCi0gICAgICAgIDB4ZWIsIDB4YjcsIDB4ZmYsIDB4ZmIsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmIsIDB4YmYsIDB4ZmYsIDB4ZjYsIDB4NmYsIDB4ZmYsIDB4ZDcsCi0gICAgICAgIDB4ZmYsIDB4ZjUsIDB4YjYsIDB4ZmYsIDB4ZjcsIDB4N2YsIDB4ZWQsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YjcsIDB4NzcsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZmMsIDB4YWYsIDB4Y2YsIDB4YjgsIDB4NzUsIDB4N2EsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZmMsIDB4ZjAsIDB4ZjcsIDB4MGYsIDB4ZjUsIDB4MDksCi0gICAgICAgIDB4NjcsIDB4N2QsIDB4ZjUsIDB4OWQsIDB4ZmQsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZTAsIDB4ZWYsIDB4ZGQsIDB4N2QsIDB4NzcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZGIsIDB4OGYsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4OGYsIDB4ZmIsCi0gICAgICAgIDB4ZmQsIDB4NGUsIDB4ZjcsIDB4ZjcsIDB4ODcsCi0gICAgICAgIDB4ZmYsIDB4ZmIsIDB4YmYsIDB4ZmYsIDB4OGUsIDB4ZmYsIDB4ZjgsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4YmUsIDB4N2IsIDB4ZmYsIDB4ZmUsIDB4N2YsIDB4OGQsIDB4N2QsCi0gICAgICAgIDB4ZjUsIDB4ZmUsIDB4ZjcsIDB4ZmUsIDB4ZmIsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZWYsIDB4YTUsIDB4Y2YsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZDcsIDB4N2YsIDB4ZmYsIDB4YWYsIDB4OGYsIDB4Y2YsCi0gICAgICAgIDB4ZjksIDB4ZmYsIDB4NWYsIDB4NzksIDB4ZmMsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZWYsIDB4ZjksIDB4NzUsIDB4YWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZGYsIDB4OWYsIDB4ZTcsIDB4ZmQsCi0gICAgICAgIDB4ZmIsIDB4N2YsIDB4ZjcsIDB4NmUsIDB4ZmIsCi0gICAgICAgIDB4M2YsIDB4NTgsIDB4ZjksIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4YWYsCi0gICAgICAgIDB4ZjIsIDB4MTksIDB4NWYsIDB4YjUsIDB4ZjUsIDB4ZmYsIDB4ZmQsIDB4ZmYsCi0gICAgICAgIDB4Y2YsIDB4YmYsIDB4ZjMsIDB4OWEsIDB4NWMsCi0gICAgICAgIDB4YmYsIDB4ZDEsIDB4N2YsIDB4ZmYsIDB4N2YsIDB4ZGUsIDB4ZmYsIDB4ZjMsCi0gICAgICAgIDB4ZGYsIDB4OTUsIDB4ZjEsIDB4YjEsIDB4ZmYsIDB4ZmYsIDB4ZjMsIDB4Y2IsCi0gICAgICAgIDB4ZjgsIDB4YzMsIDB4N2UsIDB4OGIsIDB4NTMsCi0gICAgICAgIDB4YmYsIDB4ZjgsIDB4ZjksIDB4ZjYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YmUsIDB4OGYsIDB4YzMsIDB4ZjEsIDB4ZmYsIDB4ZmQsIDB4ZmQsIDB4ZmYsCi0gICAgICAgIDB4ZjAsIDB4YmIsIDB4ZGYsIDB4OGQsIDB4MmYsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4OGYsIDB4OGYsIDB4ZmIsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjksCi0gICAgICAgIDB4ZjksIDB4ZmIsIDB4YWUsIDB4MGYsIDB4NzMsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmQsIDB4ZmYsIDB4ZWYsIDB4ZmUsIDB4ZGYsCi0gICAgICAgIDB4ZmYsIDB4ZjYsIDB4ZmUsIDB4ZWYsIDB4ZjUsIDB4ZmUsIDB4ZmQsIDB4ZmYsCi0gICAgICAgIDB4ZmIsIDB4YzksIDB4ZmYsIDB4ZjMsIDB4ZGIsCi0gICAgICAgIDB4ZmYsIDB4ZjksIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsCi0gICAgICAgIDB4ZjEsIDB4ZmUsIDB4ZWYsIDB4ZWUsIDB4ZmYsIDB4ZmUsIDB4ZmIsIDB4ZmYsCi0gICAgICAgIDB4ODksIDB4N2YsIDB4ZjYsIDB4ZmIsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZTgsIDB4ZmUsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4YWIsIDB4ZWYsIDB4ZjgsIDB4YmYsIDB4ZmYsIDB4YmMsIDB4ZmUsCi0gICAgICAgIDB4ZDksIDB4YmYsIDB4ZjcsIDB4OGYsIDB4N2MsCi0gICAgICAgIDB4YmYsIDB4ZmEsIDB4NzksIDB4ZmEsIDB4ZWYsIDB4ZmYsIDB4ZGUsIDB4ZGYsCi0gICAgICAgIDB4ZjcsIDB4ZDYsIDB4YWYsIDB4ZDcsIDB4YjgsIDB4ZjcsIDB4YmUsIDB4ZmYsCi0gICAgICAgIDB4ZTksIDB4Y2YsIDB4ZWUsIDB4YzMsIDB4YWYsCi0gICAgICAgIDB4ZmYsIDB4MDcsIDB4ZmYsIDB4ZjMsIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4ZjcsCi0gICAgICAgIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4Y2YsCi0gICAgICAgIDB4ZmYsIDB4ZjksIDB4OGUsIDB4N2YsIDB4ZDEsCi0gICAgICAgIDB4ZmYsIDB4ZjksIDB4ZmYsIDB4ZmMsIDB4ZmYsIDB4Y2YsIDB4Y2YsIDB4ZjcsCi0gICAgICAgIDB4ZjcsIDB4OGUsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4Y2YsCi0gICAgICAgIDB4Y2YsIDB4ZjksIDB4ZmQsIDB4OGYsIDB4N2YsCi0gICAgICAgIDB4M2YsIDB4ZWYsIDB4ZmYsIDB4ZmUsIDB4OGYsIDB4NGYsIDB4ZTAsIDB4ZDcsCi0gICAgICAgIDB4ZWYsIDB4ZjksIDB4MWYsIDB4YjMsIDB4NzAsIDB4ZjMsIDB4OGYsIDB4NGUsCi0gICAgICAgIDB4ZDEsIDB4ZjksIDB4N2YsIDB4ZGYsIDB4ODIsCi0gICAgICAgIDB4ZmYsIDB4ODIsIDB4N2UsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YmUsIDB4Y2YsIDB4N2YsIDB4ODQsIDB4ZmYsIDB4ZmEsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZGYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ODEsIDB4ZmUsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4NzcsIDB4Y2YsIDB4YmUsIDB4OGIsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4NWYsCi0gICAgICAgIDB4ZmYsIDB4ZmEsIDB4ZmYsIDB4ZmYsIDB4ZWIsIDB4ZGYsIDB4Y2YsIDB4ZDcsCi0gICAgICAgIDB4ODcsIDB4MzIsIDB4ZjIsIDB4YmYsIDB4ZmYsIDB4ZmIsIDB4YjksIDB4Y2YsCi0gICAgICAgIDB4Y2YsIDB4YzksIDB4YWYsIDB4NWQsIDB4ZmIsCi0gICAgICAgIDB4ZmYsIDB4ZmIsIDB4ZWYsIDB4ZjcsIDB4ZmIsIDB4MGYsIDB4OGYsIDB4YTUsCi0gICAgICAgIDB4ZjAsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjksIDB4OGUsCi0gICAgICAgIDB4MDEsIDB4YzEsIDB4NzEsIDB4ZjMsIDB4ZmQsCi0gICAgICAgIDB4N2YsIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4NmYsIDB4ZmYsIDB4ZmEsIDB4ZmQsIDB4ZmYsIDB4ZjUsIDB4YjksIDB4ZmUsCi0gICAgICAgIDB4YzksIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsCi0gICAgICAgIDB4YmYsIDB4OWYsIDB4ZjgsIDB4ZjgsIDB4ZmIsIDB4NGYsIDB4ZmYsIDB4ZjcsCi0gICAgICAgIDB4ZGYsIDB4ZGYsIDB4ODcsIDB4YTcsIDB4ZjAsIDB4ZjgsIDB4ZjksIDB4ZmYsCi0gICAgICAgIDB4ZjksIDB4ZmYsIDB4Y2YsIDB4Y2YsIDB4OGUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmEsIDB4ZGYsIDB4ZGYsIDB4ZjcsCi0gICAgICAgIDB4NzcsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4YjksIDB4ZGYsCi0gICAgICAgIDB4ZjksIDB4ZjcsIDB4ZjcsIDB4ZmYsIDB4Y2YsCi0gICAgICAgIDB4ZmYsIDB4ZTcsIDB4ZmYsIDB4ZjcsIDB4ZmIsIDB4ZmYsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4ZGYsIDB4ZmYsIDB4ZjcsIDB4ZGYsIDB4ZmYsIDB4ZjcsIDB4ZjksIDB4ZmUsCi0gICAgICAgIDB4YjEsIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZGQsIDB4ZGYsIDB4ZjcsIDB4ZjcsIDB4ZmYsIDB4YjEsIDB4ZGUsCi0gICAgICAgIDB4ZjksIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4Y2YsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmIsIDB4YmYsIDB4YmUsIDB4Y2YsCi0gICAgICAgIDB4ZGYsIDB4ZjIsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjEsIDB4YmYsCi0gICAgICAgIDB4ZjksIDB4Y2UsIDB4Y2YsIDB4ZjEsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4YWYsIDB4ZjQsIDB4YTcsIDB4ZmYsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4MGYsIDB4NmYsIDB4NzksIDB4OGYsCi0gICAgICAgIDB4MzksIDB4ZjksIDB4ZGUsIDB4ZmYsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4OTcsIDB4YmYsIDB4ZjYsIDB4ZjYsIDB4ZmYsIDB4MGYsIDB4ZGYsCi0gICAgICAgIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4NjcsIDB4NzUsIDB4YWUsIDB4N2YsIDB4ZmIsCi0gICAgICAgIDB4OGYsIDB4M2YsIDB4ODAsIDB4NWYsIDB4ZDEsCi0gICAgICAgIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZGYsIDB4OGYsIDB4NWQsIDB4NzAsIDB4ZmMsCi0gICAgICAgIDB4ZmYsIDB4ZGYsIDB4N2YsIDB4ZGQsIDB4OWYsIDB4ZDcsIDB4Y2YsIDB4MGQsCi0gICAgICAgIDB4NzUsIDB4YjEsIDB4ZmYsIDB4ZmYsIDB4ZmQsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmIsIDB4ZGMsIDB4ZmUsIDB4YmQsIDB4ZGIsIDB4ZDYsCi0gICAgICAgIDB4N2QsIDB4ZjksIDB4YWUsIDB4ZmYsIDB4ZGYsIDB4YTksIDB4NzMsIDB4ZGQsCi0gICAgICAgIDB4ZWQsIDB4NmUsIDB4NWYsIDB4ZmYsIDB4ZjYsCi0gICAgICAgIDB4ZmYsIDB4ZTIsIDB4ZjcsIDB4YmUsIDB4Y2YsIDB4ZTYsIDB4ZmQsIDB4ZjksCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2UsIDB4Y2UsIDB4ZmYsIDB4ZWQsIDB4NWYsIDB4ZTcsCi0gICAgICAgIDB4N2UsIDB4YmIsIDB4ZWYsIDB4NmIsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4MDcsIDB4YmYsIDB4ODAsIDB4ZDcsIDB4ZjAsIDB4ZmQsCi0gICAgICAgIDB4ZjcsIDB4ZjMsIDB4ZmIsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4YzUsIDB4NmUsCi0gICAgICAgIDB4NzEsIDB4ZGYsIDB4ZmYsIDB4N2YsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4YmYsIDB4NzcsIDB4YjksIDB4ZmIsIDB4YzcsIDB4ZmEsIDB4ZmQsCi0gICAgICAgIDB4YWYsIDB4ZmYsIDB4YzcsIDB4YmYsIDB4N2MsIDB4ZTMsIDB4N2YsIDB4ZmEsCi0gICAgICAgIDB4ZmYsIDB4NzUsIDB4YmYsIDB4ZmYsIDB4ODcsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4YzQsIDB4ZmYsIDB4YmMsIDB4ZmYsIDB4ZjIsIDB4ZmUsCi0gICAgICAgIDB4ZGIsIDB4YjcsIDB4ZmYsIDB4N2YsIDB4ZDMsIDB4ZmYsIDB4YTUsIDB4NzMsCi0gICAgICAgIDB4ZjEsIDB4ZmYsIDB4ZmUsIDB4ZmUsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YjcsIDB4YmYsIDB4ZjMsIDB4YjcsIDB4ZmYsIDB4ZjUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4YWYsIDB4MmYsIDB4NzcsIDB4ZWUsCi0gICAgICAgIDB4ZjcsIDB4NWYsIDB4ZWUsIDB4ZjcsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4ZTMsIDB4ZWEsCi0gICAgICAgIDB4N2YsIDB4ZmEsIDB4ZjUsIDB4N2YsIDB4YWQsIDB4N2YsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OWQsIDB4ODksIDB4N2YsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4ZmQsIDB4NWIsIDB4OGUsIDB4ZmMsIDB4YzAsIDB4NWYsIDB4ZmIsCi0gICAgICAgIDB4ZGYsIDB4OGYsIDB4N2YsIDB4N2EsIDB4OGEsIDB4MWYsIDB4ZTAsIDB4NjUsCi0gICAgICAgIDB4NmYsIDB4NmYsIDB4NWYsIDB4OGYsIDB4N2IsCi0gICAgICAgIDB4YmYsIDB4N2YsIDB4ZDEsIDB4YmYsIDB4Y2QsIDB4ZjcsIDB4MmMsIDB4YmIsCi0gICAgICAgIDB4YjcsIDB4ZjEsIDB4OGYsIDB4N2QsIDB4OTIsIDB4OWYsIDB4ZjAsIDB4ZjcsCi0gICAgICAgIDB4ZGYsIDB4ZmQsIDB4YmYsIDB4ZmIsIDB4ODUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4ODIsIDB4N2UsIDB4ZjAsIDB4ZmUsCi0gICAgICAgIDB4ZmQsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4YmUsIDB4N2YsIDB4OGYsIDB4N2YsCi0gICAgICAgIDB4ZTksIDB4ZmUsIDB4ZmYsIDB4ZmMsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmIsIDB4ZmYsIDB4NzMsIDB4ZGYsCi0gICAgICAgIDB4ZWYsIDB4N2YsIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZjUsIDB4ZWIsIDB4NGYsIDB4N2YsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4YmQsIDB4N2YsIDB4YjcsIDB4ZmYsCi0gICAgICAgIDB4ZmQsIDB4ZWYsIDB4ZmUsIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4ZjksIDB4ZjcsCi0gICAgICAgIDB4ZmQsIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4M2YsIDB4NzgsIDB4ZjgsIDB4ZjcsIDB4ZmEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmIsIDB4MGYsIDB4MGYsIDB4ZjEsIDB4ZDEsIDB4ZmYsIDB4ZmQsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ZGYsIDB4ZmYsIDB4ODYsIDB4MGUsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4N2YsIDB4ZmIsIDB4ZmUsIDB4YmYsCi0gICAgICAgIDB4OGIsIDB4ODQsIDB4ZjEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZjksIDB4YmIsCi0gICAgICAgIDB4ZmUsIDB4YWYsIDB4MGUsIDB4MDcsIDB4NzEsCi0gICAgICAgIDB4YmYsIDB4ZjgsIDB4ZjgsIDB4ZmYsIDB4NmEsIDB4ZmYsIDB4ZmIsIDB4ZmYsCi0gICAgICAgIDB4ZGYsIDB4OGYsIDB4ZWIsIDB4YjMsIDB4ZDcsIDB4ZmYsIDB4ZjksIDB4YmYsCi0gICAgICAgIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4MmYsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4NmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4ZWYsIDB4YWYsIDB4ZjcsIDB4ZjUsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4MGYsIDB4NzEsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZWYsIDB4ZjUsIDB4ZWUsIDB4ZmYsIDB4ZmUsIDB4ZWUsCi0gICAgICAgIDB4ZmYsIDB4ZmEsIDB4YmYsIDB4YmIsIDB4ZGQsIDB4ZmIsIDB4ZmYsIDB4ZGYsCi0gICAgICAgIDB4YmYsIDB4OTksIDB4ZGYsIDB4ZjksIDB4ZmIsCi0gICAgICAgIDB4ZmYsIDB4ZmQsIDB4NmYsIDB4ZmMsIDB4ZWYsIDB4ZmYsIDB4OWUsIDB4ZWYsCi0gICAgICAgIDB4YjUsIDB4ZWEsIDB4YmYsIDB4YWYsIDB4ZGYsIDB4ZmEsIDB4ZmYsIDB4ZGYsCi0gICAgICAgIDB4YWYsIDB4N2YsIDB4ZjYsIDB4ZmIsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZjksIDB4ZWUsIDB4ZjcsIDB4ZmUsIDB4ZmYsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGIsIDB4ZmUsIDB4YjAsIDB4ZGEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4YzcsIDB4N2EsCi0gICAgICAgIDB4YmYsIDB4ZmUsIDB4N2IsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4YmEsIDB4Y2YsIDB4ZmUsIDB4ZjEsIDB4ZmUsIDB4ZmYsIDB4ZGYsCi0gICAgICAgIDB4ZGYsIDB4YjksIDB4ZmMsIDB4YjksIDB4Y2YsCi0gICAgICAgIDB4ZmYsIDB4OTUsIDB4N2UsIDB4ZjMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4OWYsIDB4ZmYsIDB4YjEsIDB4ZGYsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZGYsCi0gICAgICAgIDB4ZmYsIDB4YmYsIDB4OGUsIDB4NWYsIDB4YjMsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2QsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZGIsIDB4ZmYsIDB4YjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjksIDB4YTksIDB4NmYsCi0gICAgICAgIDB4M2YsIDB4ZWYsIDB4ZmIsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4YmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4NWUsIDB4OWYsIDB4NzEsIDB4ZjksIDB4OGYsIDB4NWUsCi0gICAgICAgIDB4ZjEsIDB4YmYsIDB4N2IsIDB4ZDcsIDB4YmMsCi0gICAgICAgIDB4ZmYsIDB4ODAsIDB4N2YsIDB4ZjksIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZGIsIDB4OGYsIDB4MzksIDB4OTAsIDB4ZmYsIDB4ZjUsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjgsIDB4OGYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ODEsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4OWYsIDB4YzUsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4NWYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4OGYsIDB4N2IsIDB4ZjAsIDB4ZmIsIDB4YWYsIDB4ZmYsIDB4ODksIDB4ZGYsCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4ODksIDB4MzgsIDB4ZjksCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmUsIDB4MGYsIDB4Y2UsIDB4ODQsCi0gICAgICAgIDB4ZjgsIDB4ZTAsIDB4ZmYsIDB4YmQsIDB4YWYsIDB4ZmYsIDB4YTksIDB4YmUsCi0gICAgICAgIDB4MDEsIDB4NDcsIDB4NzEsIDB4ZDcsIDB4ZmQsCi0gICAgICAgIDB4ZmYsIDB4Y2IsIDB4ZmYsIDB4ZmYsIDB4ZWUsIDB4ZmYsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4ZjcsIDB4OWYsIDB4ZmUsCi0gICAgICAgIDB4ZjEsIDB4ZjksIDB4ZWYsIDB4ZmYsIDB4ZjksCi0gICAgICAgIDB4YmYsIDB4ODcsIDB4ZjgsIDB4ZjgsIDB4ZmUsIDB4N2YsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4YjAsIDB4ZjAsIDB4YWYsIDB4ZmYsCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4ZmEsIDB4ZmYsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4YTksIDB4ZmYsCi0gICAgICAgIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmEsIDB4ZmYsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4YTksIDB4ZmUsCi0gICAgICAgIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmEsIDB4ZmYsIDB4ZWUsIDB4ZmYsCi0gICAgICAgIDB4ZmEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4ZmYsIDB4OGYsIDB4ZmUsCi0gICAgICAgIDB4YzcsIDB4ZmYsIDB4ZjksIDB4YmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmEsIDB4ZmYsIDB4ZGUsIDB4ZmYsCi0gICAgICAgIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4OWYsIDB4ZmYsCi0gICAgICAgIDB4ZjcsIDB4M2UsIDB4ZjcsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZGYsIDB4MWYsIDB4YmYsIDB4ZjEsIDB4ODYsIDB4Y2YsIDB4ZjAsCi0gICAgICAgIDB4ZDcsIDB4ZmYsIDB4ZmMsIDB4ZmYsIDB4MGYsIDB4N2YsIDB4ZjksIDB4Y2IsCi0gICAgICAgIDB4NWYsIDB4ZjEsIDB4ZmUsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4N2YsIDB4YjcsIDB4ZmYsIDB4ZjcsIDB4OGYsIDB4ZmYsCi0gICAgICAgIDB4MDAsIDB4ZmYsIDB4ZjAsIDB4N2YsIDB4MmYsIDB4ZGYsIDB4N2EsIDB4ZmYsCi0gICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4N2EsIDB4YjEsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4Y2YsIDB4ZDksIDB4OTksIDB4MDksIDB4NzQsIDB4ZjQsCi0gICAgICAgIDB4ZmIsIDB4N2YsIDB4M2YsIDB4ZmYsIDB4Y2YsIDB4N2YsIDB4YjUsIDB4YmQsCi0gICAgICAgIDB4N2YsIDB4ZjEsIDB4ZjksIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4YmYsIDB4YzksIDB4YmYsIDB4ZmQsIDB4ZTcsIDB4YmYsIDB4OWYsCi0gICAgICAgIDB4NTUsIDB4NzUsIDB4N2UsIDB4ODcsIDB4ZjksIDB4YmYsIDB4MzcsIDB4ZDksCi0gICAgICAgIDB4ZmYsIDB4ZjUsIDB4ZmYsIDB4ZmYsIDB4OGUsCi0gICAgICAgIDB4ZmYsIDB4ZTgsIDB4ZjcsIDB4OWYsIDB4ZmUsIDB4YTUsIDB4ZmUsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4YWUsIDB4NzUsIDB4ZjAsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4Y2YsCi0gICAgICAgIDB4N2UsIDB4ZmYsIDB4ZmYsIDB4OGIsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4NmYsIDB4ZmYsIDB4OGYsIDB4ZWYsIDB4ZjAsIDB4OTUsCi0gICAgICAgIDB4ZmYsIDB4ZmIsIDB4ZTcsIDB4N2YsIDB4YWYsIDB4ZWYsIDB4YWIsIDB4OWIsCi0gICAgICAgIDB4ZjEsIDB4ZmYsIDB4ZDYsIDB4ZmQsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OTcsIDB4NzYsIDB4YTgsIDB4ZWUsIDB4ZjcsIDB4YmYsIDB4ZmYsCi0gICAgICAgIDB4NzcsIDB4N2YsIDB4ZGYsIDB4YWYsIDB4ZmUsIDB4ZjEsIDB4YjcsIDB4ZmIsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4NTEsIDB4ZmYsIDB4YjksIDB4YjUsIDB4ZTAsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZDcsIDB4YmYsIDB4ZmYsIDB4YTMsIDB4ZWYsIDB4NmQsIDB4MzcsCi0gICAgICAgIDB4NzEsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4YWYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4MDcsIDB4YmYsIDB4ZTgsIDB4ZmIsIDB4ZGMsIDB4ZmQsCi0gICAgICAgIDB4ZjcsIDB4ZmUsIDB4ZjcsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4OTksIDB4ZmYsCi0gICAgICAgIDB4ZmQsIDB4ZWYsIDB4ZWYsIDB4ZmQsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4YmYsIDB4N2YsIDB4ZGIsIDB4ZmYsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4M2YsIDB4ZmYsIDB4ZjUsIDB4N2YsIDB4ZjcsIDB4N2YsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4ZGIsIDB4ZjksIDB4YWYsIDB4NzksIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4MWYsIDB4ZGYsIDB4OTAsIDB4OWMsIDB4OTMsIDB4OTUsCi0gICAgICAgIDB4ZjQsIDB4ODQsIDB4N2EsIDB4NzAsIDB4YWYsIDB4M2YsIDB4NzEsIDB4N2IsCi0gICAgICAgIDB4ZmQsIDB4ZmYsIDB4YWYsIDB4OGYsIDB4N2QsCi0gICAgICAgIDB4YmYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmQsIDB4ZGQsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4N2QsIDB4ZmUsIDB4Y2YsIDB4N2YsIDB4YTAsIDB4ZmYsIDB4NzYsIDB4YmYsCi0gICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZGYsIDB4ZjcsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4N2YsIDB4ODMsIDB4ZmUsIDB4ZjAsIDB4ZWYsCi0gICAgICAgIDB4ZmYsIDB4N2IsIDB4ZmEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZTMsIDB4N2EsCi0gICAgICAgIDB4ZjEsIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4N2YsIDB4ZmYsIDB4ZjcsIDB4Y2YsIDB4ZmUsIDB4ZjUsIDB4OWUsCi0gICAgICAgIDB4ZmYsIDB4NzUsIDB4ZmQsIDB4N2YsIDB4ZmYsIDB4ZWYsIDB4NDgsIDB4ZGYsCi0gICAgICAgIDB4ZjEsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmEsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4Y2YsIDB4N2YsIDB4Y2QsIDB4ZjUsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4NzksIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4Y2QsIDB4ZjYsCi0gICAgICAgIDB4ZGYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4M2YsIDB4NzgsIDB4ZjgsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZmYsCi0gICAgICAgIDB4ZGYsIDB4MGIsIDB4MmYsIDB4ZjEsIDB4YjEsIDB4ZmYsIDB4ZmQsIDB4ZmYsCi0gICAgICAgIDB4OGYsIDB4ZmYsIDB4ZmQsIDB4YWUsIDB4MmYsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4NGYsIDB4ZGYsIDB4N2UsIDB4ZWUsIDB4ZGYsIDB4YmYsCi0gICAgICAgIDB4YWYsIDB4ODksIDB4ZjEsIDB4ZDEsIDB4ZmYsIDB4OGYsIDB4ZGYsIDB4ZWQsCi0gICAgICAgIDB4YmUsIDB4ZGYsIDB4MmMsIDB4MDMsIDB4NTEsCi0gICAgICAgIDB4YmYsIDB4ZjEsIDB4ZDksIDB4ZjcsIDB4NWUsIDB4ZmYsIDB4ZjYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4OWYsIDB4ZTEsIDB4YjEsIDB4ZmYsIDB4OWQsIDB4ZGYsCi0gICAgICAgIDB4ZGMsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2UsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4OWYsIDB4OGYsIDB4ZjAsIDB4ZjAsIDB4ZmYsIDB4ZGYsIDB4Y2YsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4MGYsIDB4MzMsCi0gICAgICAgIDB4ZmYsIDB4ZDcsIDB4ZWYsIDB4ZmUsIDB4ZWYsIDB4Y2YsIDB4ZjcsIDB4YzYsCi0gICAgICAgIDB4ZGYsIDB4ZTYsIDB4ZWYsIDB4YzYsIDB4ZGYsIDB4ZjYsIDB4Y2UsIDB4ZGYsCi0gICAgICAgIDB4ZGYsIDB4OGYsIDB4YWYsIDB4ZmQsIDB4Y2MsCi0gICAgICAgIDB4ZmYsIDB4YzYsIDB4N2YsIDB4ZmUsIDB4ZWYsIDB4ZmYsIDB4YmYsIDB4Y2YsCi0gICAgICAgIDB4ZjksIDB4ZGUsIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4ZmUsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4MGYsIDB4ZjIsIDB4OGQsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGEsIDB4ZWUsIDB4ZjgsIDB4ZGUsIDB4ZmYsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2UsCi0gICAgICAgIDB4YmYsIDB4ZWYsIDB4NzgsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZjcsIDB4YzYsCi0gICAgICAgIDB4ZjcsIDB4ZjYsIDB4OGYsIDB4ZjcsIDB4ZjksIDB4ZjcsIDB4Y2YsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmUsIDB4ZGMsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4MTcsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4OGYsIDB4Y2YsIDB4ZjEsIDB4YmYsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4N2YsIDB4ZjAsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4Y2YsCi0gICAgICAgIDB4ZjYsIDB4ODYsIDB4Y2YsIDB4ZjAsIDB4ZjYsIDB4ZmYsIDB4ZmYsIDB4ZGYsCi0gICAgICAgIDB4ZmYsIDB4YWYsIDB4ZmUsIDB4OGQsIDB4MWYsCi0gICAgICAgIDB4M2YsIDB4YzYsIDB4ZjgsIDB4ZmUsIDB4OGYsIDB4N2YsIDB4YzAsIDB4ZmYsCi0gICAgICAgIDB4ZmUsIDB4ZjksIDB4M2YsIDB4Y2YsIDB4NzksIDB4ZmYsIDB4OGYsIDB4NWUsCi0gICAgICAgIDB4ZjEsIDB4ZmYsIDB4N2YsIDB4YmUsIDB4ZWUsCi0gICAgICAgIDB4ZmYsIDB4OTAsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4Y2YsIDB4ZmYsCi0gICAgICAgIDB4ZDYsIDB4YWYsIDB4NmYsIDB4ODgsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YWYsIDB4ZmYsIDB4ZGMsIDB4OGYsIDB4NmYsCi0gICAgICAgIDB4ZmYsIDB4ODEsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4YmYsIDB4Y2YsIDB4ODEsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4NmQsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4Y2YsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4Y2YsIDB4Y2YsCi0gICAgICAgIDB4MWUsIDB4NTYsIDB4ZjAsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4ZGYsCi0gICAgICAgIDB4ZmYsIDB4YWYsIDB4OWYsIDB4N2QsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZmUsIDB4Y2YsIDB4ZjcsIDB4YzYsIDB4M2YsIDB4ODYsIDB4YjksCi0gICAgICAgIDB4ZjAsIDB4ZDAsIDB4ZjcsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZGYsIDB4ZGUsCi0gICAgICAgIDB4MGYsIDB4ODMsIDB4NzUsIDB4ZjEsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZGYsIDB4ZjYsIDB4ZmUsCi0gICAgICAgIDB4ZGYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZGYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4ZWYsIDB4ZmQsCi0gICAgICAgIDB4YmYsIDB4ODcsIDB4ZjgsIDB4ZjgsIDB4ZmYsIDB4NmYsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZDAsIDB4ZjAsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4YzcsIDB4ZmYsIDB4ZjYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4ZGQsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZjcsIDB4YzcsIDB4ZmYsIDB4ZjYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4Y2QsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4OWQsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4YmUsIDB4Y2YsCi0gICAgICAgIDB4ZjksIDB4ZjYsIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4ZmYsIDB4OGQsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGUsIDB4ZmYsIDB4ZmQsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4OWYsIDB4ZjIsIDB4OGUsIDB4ZGYsIDB4ZjgsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MGYsIDB4N2YsIDB4NjEsIDB4YWEsCi0gICAgICAgIDB4N2YsIDB4ZjksIDB4Y2YsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4MzcsIDB4OWYsIDB4ZTcsIDB4ZmUsIDB4ZjMsIDB4MGYsIDB4Y2YsCi0gICAgICAgIDB4MDAsIDB4ZmYsIDB4YzAsIDB4N2YsIDB4N2YsIDB4Y2YsIDB4N2UsIDB4ZmIsCi0gICAgICAgIDB4OGYsIDB4N2YsIDB4ODAsIDB4N2YsIDB4YjEsCi0gICAgICAgIDB4ZmYsIDB4ZWIsIDB4ZWYsIDB4ZjksIDB4YTksIDB4NGYsIDB4NDYsIDB4ZjAsCi0gICAgICAgIDB4ZjcsIDB4ZmYsIDB4N2YsIDB4ZjcsIDB4YmYsIDB4YjgsIDB4Y2QsIDB4MjQsCi0gICAgICAgIDB4MzMsIDB4YTMsIDB4ZmQsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4M2YsIDB4ZmIsIDB4ZjksIDB4NWYsIDB4ZjUsIDB4ZmIsIDB4ZmYsIDB4Y2YsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4ZTksIDB4YjcsIDB4N2YsIDB4YTMsCi0gICAgICAgIDB4ZGYsIDB4N2QsIDB4NzMsIDB4ZjMsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4YzgsIDB4ZTcsIDB4M2YsIDB4ZWUsIDB4ZmYsIDB4ZDYsIDB4ZjIsCi0gICAgICAgIDB4ZmYsIDB4YWYsIDB4N2YsIDB4ZjgsIDB4N2YsIDB4YzcsIDB4N2UsIDB4ZmIsCi0gICAgICAgIDB4NzcsIDB4ZDEsIDB4ZmYsIDB4OWYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4MTcsIDB4OWYsIDB4OTYsIDB4ZjYsIDB4ZmMsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZGQsIDB4ZmYsIDB4N2YsIDB4NmYsIDB4ZmYsIDB4YjcsIDB4N2YsCi0gICAgICAgIDB4NzEsIDB4ODMsIDB4ZjYsIDB4N2QsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4YjcsIDB4NzcsIDB4OTAsIDB4ZmQsIDB4ZmUsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ZmUsIDB4YmUsIDB4Y2YsIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZWIsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZGYsIDB4ZmYsIDB4YjcsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4YWYsIDB4ZWMsIDB4ZjgsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmQsIDB4ZWYsIDB4ZmYsIDB4YjAsIDB4ZWYsIDB4ODUsIDB4N2YsCi0gICAgICAgIDB4NzksIDB4ZWYsIDB4YmUsIDB4ZmUsIDB4ZWYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OTcsIDB4YWYsIDB4ZGEsIDB4ZmIsIDB4ZmUsIDB4ZjMsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4Y2YsIDB4MWYsIDB4NjksIDB4ZmIsCi0gICAgICAgIDB4ZmYsIDB4NzcsIDB4ZTYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4OTcsIDB4ZmYsIDB4ZmIsIDB4N2YsIDB4ZjcsIDB4N2YsIDB4ZGIsIDB4ZmYsCi0gICAgICAgIDB4ZmQsIDB4ZmQsIDB4ZmYsIDB4N2UsIDB4ZjMsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4NGYsIDB4OGYsIDB4ZjAsIDB4ZjYsIDB4NzMsIDB4ZmYsCi0gICAgICAgIDB4ZWYsIDB4OWYsIDB4N2YsIDB4NzAsIDB4ODcsIDB4MGYsIDB4ZjAsIDB4NzUsCi0gICAgICAgIDB4N2IsIDB4NzMsIDB4ZDIsIDB4OWUsIDB4N2QsCi0gICAgICAgIDB4YmYsIDB4N2YsIDB4ZjAsIDB4YmYsIDB4Y2MsIDB4ZmUsIDB4MzcsIDB4ZWYsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4OGYsIDB4N2YsIDB4YzAsIDB4Y2YsIDB4YjYsIDB4ZmYsCi0gICAgICAgIDB4ZjUsIDB4OGYsIDB4YjcsIDB4ZmQsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4Y2YsIDB4ODksIDB4ZmYsIDB4ZjAsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4N2YsIDB4ZGUsIDB4M2YsIDB4ODksIDB4N2QsCi0gICAgICAgIDB4ZjEsIDB4OGUsIDB4Y2YsIDB4ZmQsIDB4ZmQsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4OGYsIDB4ZTcsIDB4ZjQsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjYsIDB4N2YsIDB4ZmYsIDB4YmYsIDB4OGQsIDB4ZWYsCi0gICAgICAgIDB4ZmQsIDB4ZmYsIDB4N2YsIDB4NzMsIDB4ZjYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4OWUsIDB4ZmMsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4YWYsIDB4ZDcsIDB4ZmYsCi0gICAgICAgIDB4OWYsIDB4ZmUsIDB4ZmQsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4M2YsIDB4NzgsIDB4ZDgsIDB4ZjcsIDB4ZjcsIDB4ZmYsIDB4ZGYsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4MDgsIDB4MGYsIDB4ZjEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4YmYsIDB4OGUsIDB4NGUsCi0gICAgICAgIDB4ZmYsIDB4ZDgsIDB4N2YsIDB4ZmYsIDB4NWYsIDB4ZmYsIDB4ZjcsIDB4YWYsCi0gICAgICAgIDB4OGYsIDB4OGEsIDB4ZjEsIDB4ZjEsIDB4ZGYsIDB4ZGYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmUsIDB4YWYsIDB4NGUsIDB4MDEsIDB4NzEsCi0gICAgICAgIDB4YmYsIDB4ZjgsIDB4ZDgsIDB4ZjcsIDB4NzcsIDB4ZGYsIDB4ZGYsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZjEsIDB4ZDEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MGYsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZGYsIDB4ZGYsIDB4ZjcsIDB4ZDcsIDB4ZmYsCi0gICAgICAgIDB4YTcsIDB4OGYsIDB4ZDEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4MGYsIDB4NzEsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZGYsIDB4ZmYsIDB4ZDcsIDB4ZGYsIDB4ZjcsIDB4ZDcsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZGYsIDB4ZGYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4N2YsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4YTcsIDB4ZGYsCi0gICAgICAgIDB4ZjgsIDB4ZjcsIDB4ZmYsIDB4ZDcsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YWYsIDB4NWYsIDB4ZjAsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZjgsIDB4ZGYsIDB4ZjcsIDB4ZDcsIDB4ZmYsIDB4ZjcsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4ODksIDB4ZDcsIDB4ZDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4Y2YsIDB4ZGYsIDB4OGYsIDB4N2UsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4NzgsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZjcsIDB4ZGYsCi0gICAgICAgIDB4ZmYsIDB4ZDcsIDB4YWYsIDB4ZDcsIDB4ZjgsIDB4ZjcsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZGYsIDB4ZmUsIDB4ZmYsIDB4YWYsCi0gICAgICAgIDB4ZmYsIDB4ODcsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZjcsCi0gICAgICAgIDB4YWYsIDB4ZmYsIDB4ZjAsIDB4YWYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4N2YsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4OGYsIDB4N2YsCi0gICAgICAgIDB4M2YsIDB4ZDcsIDB4ZjgsIDB4ZmYsIDB4OGYsIDB4NWYsIDB4ZjAsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4ZjQsIDB4MGYsIDB4ZmYsIDB4NzgsIDB4ZmYsIDB4OGYsIDB4N2UsCi0gICAgICAgIDB4ZjEsIDB4ZmYsIDB4N2YsIDB4ZjMsIDB4OGUsCi0gICAgICAgIDB4ZmYsIDB4ODAsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4YWYsIDB4N2YsIDB4YTAsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZGYsIDB4ZmYsIDB4YWUsIDB4OGYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ODAsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4YWYsIDB4ZmYsIDB4ODEsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4ZGYsIDB4ZmYsIDB4ZjcsIDB4ZGYsIDB4ZGYsIDB4ZjcsCi0gICAgICAgIDB4ODcsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZGYsIDB4OGYsIDB4N2UsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZjcsIDB4ZDcsIDB4MGYsIDB4OTcsIDB4ODAsCi0gICAgICAgIDB4ZjAsIDB4ZDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YWYsCi0gICAgICAgIDB4NGYsIDB4ZDEsIDB4N2UsIDB4ZjEsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZDcsIDB4ZGYsIDB4ZmYsIDB4ZDcsIDB4ZmYsIDB4ZDcsIDB4ZjcsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ODcsIDB4ZDgsIDB4ZjgsIDB4ZDcsIDB4N2YsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ZjAsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZDcsIDB4ZmYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWIsIDB4ZmUsCisgICAgICAgIDB4Y2YsIDB4ZmYsIDB4N2IsIDB4ZmQsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZGYsIDB4ZmYsIDB4YmYsIDB4ZmYsCisgICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZmIsIDB4YmUsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZDQsIDB4YmYsIDB4ZjAsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OTMsIDB4MmYsIDB4ZmQsIDB4YWQsCisgICAgICAgIDB4ZjcsIDB4NzUsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4YmYsIDB4N2YsIDB4ZmYsIDB4OWEsIDB4ZmYsIDB4ZjQsIDB4MGYsIDB4ZmYsCisgICAgICAgIDB4MDAsIDB4ZGUsIDB4ZjAsIDB4ZjMsIDB4ZjksIDB4YmYsIDB4N2QsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4MGYsIDB4ZDEsCisgICAgICAgIDB4ZmYsIDB4ZmIsIDB4ZGYsIDB4ZWUsIDB4OGIsIDB4MGIsIDB4NzgsIDB4ZjAsCisgICAgICAgIDB4ZmYsIDB4ZmEsIDB4N2YsIDB4YmYsIDB4ZmYsIDB4ZDUsIDB4OGYsIDB4OGYsCisgICAgICAgIDB4ZTEsIDB4ZjcsIDB4ZmIsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4YjcsIDB4OTksIDB4ZWYsIDB4ZGYsIDB4ZjQsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZTQsIDB4ZjQsIDB4NWQsIDB4ZjYsIDB4ZWYsIDB4OWYsIDB4ZWYsIDB4ZjcsCisgICAgICAgIDB4M2IsIDB4M2YsIDB4ZGYsIDB4YmYsIDB4ZWMsCisgICAgICAgIDB4ZmYsIDB4ZWMsIDB4ZjcsIDB4YjksIDB4NmIsIDB4YmMsIDB4ZmIsIDB4ZjcsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4N2UsIDB4ZmQsIDB4N2UsIDB4YmIsIDB4ZGYsIDB4ODUsCisgICAgICAgIDB4ZmUsIDB4ZjcsIDB4ZmYsIDB4N2IsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4YTcsIDB4ZWUsIDB4ZTcsIDB4NWYsIDB4ZTAsIDB4ZjAsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NWYsIDB4ZTYsIDB4NmYsIDB4ODEsIDB4OGQsCisgICAgICAgIDB4ZDUsIDB4ZjcsIDB4YmYsIDB4ZWYsIDB4YjYsCisgICAgICAgIDB4ZmYsIDB4ZDcsIDB4ZjQsIDB4ZWUsIDB4YjcsIDB4N2MsIDB4ZmYsIDB4ZDcsCisgICAgICAgIDB4YWYsIDB4N2YsIDB4ZWQsIDB4OWYsIDB4ZTUsIDB4YmYsIDB4ZjcsIDB4N2QsCisgICAgICAgIDB4ZmIsIDB4YjcsIDB4YWQsIDB4ZDcsIDB4ZmQsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4YzcsIDB4OGIsIDB4ZmYsIDB4ZjAsIDB4ZjYsCisgICAgICAgIDB4ZmYsIDB4ZmQsIDB4ZmIsIDB4ZmYsIDB4ZGYsIDB4YmUsIDB4MGYsIDB4N2YsCisgICAgICAgIDB4ZDUsIDB4ZjcsIDB4ZmYsIDB4ZjIsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4YzUsIDB4ZmYsIDB4ZjAsIDB4N2MsIDB4ZmYsIDB4YWQsCisgICAgICAgIDB4N2YsIDB4N2YsIDB4ZWYsIDB4ZmYsIDB4Y2YsIDB4NGYsIDB4ZjEsIDB4ZjUsCisgICAgICAgIDB4N2IsIDB4ZGQsIDB4ZmYsIDB4ZGYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4NzcsIDB4ZWYsIDB4ZmYsIDB4ZDgsIDB4YmYsIDB4ZjcsIDB4ZjMsCisgICAgICAgIDB4NWYsIDB4ZmIsIDB4ZjksIDB4N2YsIDB4ZTcsIDB4ZmYsIDB4ZDcsIDB4N2YsCisgICAgICAgIDB4YWQsIDB4ZmYsIDB4ZmIsIDB4ZmIsIDB4ZjMsCisgICAgICAgIDB4ZmYsIDB4Y2MsIDB4OTUsIDB4OGYsIDB4ZDgsIDB4ZjMsIDB4ZmMsIDB4YmMsCisgICAgICAgIDB4ZGMsIDB4ZGYsIDB4YmIsIDB4NDQsIDB4OGIsIDB4Y2IsIDB4ODcsIDB4YjEsCisgICAgICAgIDB4YjcsIDB4YTcsIDB4OTcsIDB4ZWUsIDB4ZjMsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4YjQsIDB4YmYsIDB4ZmYsIDB4YzcsIDB4N2YsIDB4Y2IsCisgICAgICAgIDB4ZmQsIDB4YmYsIDB4N2YsIDB4N2YsIDB4NzQsIDB4ZTcsIDB4ZGYsIDB4ZjUsCisgICAgICAgIDB4YmIsIDB4Y2YsIDB4ZWQsIDB4ZmUsIDB4ZmQsCisgICAgICAgIDB4ZmYsIDB4M2YsIDB4ZmIsIDB4NzcsIDB4Y2MsIDB4YmIsIDB4ZjAsIDB4ZmIsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4YmUsIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4ODUsIDB4M2YsCisgICAgICAgIDB4YjUsIDB4ZmYsIDB4ZjcsIDB4MzcsIDB4N2YsCisgICAgICAgIDB4M2YsIDB4ZjcsIDB4YmYsIDB4Y2YsIDB4OWYsIDB4ZDcsIDB4ZjcsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4NzgsIDB4ZTcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MWYsIDB4N2YsCisgICAgICAgIDB4NjUsIDB4YmYsIDB4YmYsIDB4ZmYsIDB4ZTcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGIsIDB4ZjcsIDB4ZGYsIDB4ZmYsCisgICAgICAgIDB4NzcsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4YmYsIDB4ZGUsIDB4NzcsCisgICAgICAgIDB4ZGQsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4NjgsIDB4ZjgsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4Y2YsIDB4Y2YsCisgICAgICAgIDB4ZjMsIDB4MTcsIDB4M2YsIDB4ZDUsIDB4ZGQsIDB4ZjcsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4Y2YsIDB4ZGYsIDB4NzMsIDB4OTUsIDB4M2YsCisgICAgICAgIDB4ZmYsIDB4YWMsIDB4NmYsIDB4ZWYsIDB4NzcsIDB4ZGYsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4YmIsIDB4ODUsIDB4ZGQsIDB4ZTEsIDB4ZjcsIDB4ZmIsIDB4N2IsIDB4ZGYsCisgICAgICAgIDB4ZmUsIDB4ZmYsIDB4YjcsIDB4OWYsIDB4NzksCisgICAgICAgIDB4ZmYsIDB4ZDgsIDB4YWMsIDB4ZmIsIDB4NDcsIDB4YWYsIDB4ZWIsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4YWYsIDB4MmUsIDB4NzAsIDB4ZDksIDB4ZjcsIDB4ZmIsIDB4ZGYsCisgICAgICAgIDB4ZWEsIDB4ZmIsIDB4ZmIsIDB4MWIsIDB4NWYsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4NmYsIDB4YWYsIDB4ZDcsIDB4YjcsIDB4ZWIsIDB4ZmYsCisgICAgICAgIDB4ZTcsIDB4YWYsIDB4N2MsIDB4NzAsIDB4ZmIsIDB4ZGYsIDB4ZmYsIDB4N2IsCisgICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZGEsIDB4OWYsIDB4ZjksCisgICAgICAgIDB4ZmYsIDB4OTUsIDB4YmIsIDB4ZmQsIDB4YzcsIDB4Y2YsIDB4ZmIsIDB4ODMsCisgICAgICAgIDB4ZWYsIDB4ZjMsIDB4YmYsIDB4Y2YsIDB4NDcsIDB4ZjcsIDB4ZTcsIDB4MWYsCisgICAgICAgIDB4ZDcsIDB4OGIsIDB4NmYsIDB4MzMsIDB4YmUsCisgICAgICAgIDB4ZmYsIDB4YzcsIDB4NmYsIDB4ZmQsIDB4OTcsIDB4MmYsIDB4ZWIsIDB4YjcsCisgICAgICAgIDB4ZGMsIDB4NzcsIDB4ZDcsIDB4MWYsIDB4NjcsIDB4ZjcsIDB4ZTcsIDB4OWUsCisgICAgICAgIDB4ZTcsIDB4ZGIsIDB4MzQsIDB4ZGIsIDB4ZmIsCisgICAgICAgIDB4N2YsIDB4YTgsIDB4ZWYsIDB4ZmYsIDB4ZTcsIDB4ZWYsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4OGIsIDB4YmYsIDB4ZDgsIDB4ZWYsIDB4ZmYsIDB4ZTcsIDB4ZGYsCisgICAgICAgIDB4ZjcsIDB4ZmIsIDB4ZjcsIDB4OWYsIDB4NjYsCisgICAgICAgIDB4ZmYsIDB4ZmIsIDB4NmMsIDB4ZmYsIDB4YjcsIDB4OWYsIDB4Y2YsIDB4Y2IsCisgICAgICAgIDB4YmIsIDB4OTMsIDB4YWYsIDB4ZmYsIDB4YTgsIDB4ZmYsIDB4YzcsIDB4M2YsCisgICAgICAgIDB4YTcsIDB4Y2YsIDB4ZmUsIDB4ZTMsIDB4M2YsCisgICAgICAgIDB4M2YsIDB4ZGYsIDB4N2IsIDB4ZmEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4OGYsIDB4M2YsIDB4ZDAsIDB4ZDMsIDB4N2YsIDB4ZmMsIDB4ZmYsIDB4OGUsCisgICAgICAgIDB4ZmYsIDB4ZjMsIDB4OGYsIDB4NGUsIDB4ZTQsCisgICAgICAgIDB4N2YsIDB4YjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4OGYsIDB4ZGYsCisgICAgICAgIDB4ZjMsIDB4YmIsIDB4M2YsIDB4ZTAsIDB4ZjMsIDB4ZmYsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4OGYsIDB4ZDcsIDB4ZjMsIDB4YWIsIDB4ZWYsCisgICAgICAgIDB4N2YsIDB4OGYsIDB4ZjgsIDB4ZmIsIDB4OGYsIDB4NmYsIDB4YTAsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZGMsIDB4ZmYsIDB4NWYsIDB4ZmMsIDB4ZjMsIDB4OGYsIDB4NmUsCisgICAgICAgIDB4YjEsIDB4ZjcsIDB4ZjcsIDB4ZjcsIDB4M2UsCisgICAgICAgIDB4ZmYsIDB4OTAsIDB4N2IsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZGYsIDB4ZmYsCisgICAgICAgIDB4ZmIsIDB4OWYsIDB4N2YsIDB4YTAsIDB4ZjMsIDB4ZjEsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZGYsIDB4ZmYsIDB4ZGIsIDB4YmYsIDB4M2YsCisgICAgICAgIDB4ZmYsIDB4ZGMsIDB4ZmIsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4NzcsIDB4YWYsIDB4ZmYsIDB4YWQsIDB4ZjMsIDB4ZjgsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4NmYsIDB4YmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4YTMsIDB4ZmYsIDB4YWYsIDB4Y2YsCisgICAgICAgIDB4OTMsIDB4YzMsIDB4NzQsIDB4ZWYsIDB4ZGYsIDB4ZmYsIDB4YWIsIDB4MmYsCisgICAgICAgIDB4ZTcsIDB4YzcsIDB4ZjMsIDB4NzMsIDB4NzksCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4YzMsIDB4N2YsIDB4ODMsIDB4ZTQsCisgICAgICAgIDB4ZDMsIDB4YmMsIDB4N2IsIDB4ZGIsIDB4ZGYsIDB4N2YsIDB4OGIsIDB4OGUsCisgICAgICAgIDB4ODMsIDB4MDEsIDB4NTEsIDB4ZDUsIDB4N2IsCisgICAgICAgIDB4ZmYsIDB4ZmIsIDB4ZGYsIDB4ZmYsIDB4YzMsIDB4ZWYsIDB4YjMsIDB4ZmYsCisgICAgICAgIDB4YjcsIDB4ZmYsIDB4ZmUsIDB4YmYsIDB4ZGYsIDB4ZmYsIDB4OGIsIDB4NmUsCisgICAgICAgIDB4ZjMsIDB4ZmIsIDB4YjcsIDB4MWYsIDB4ZmUsCisgICAgICAgIDB4YmYsIDB4ODIsIDB4YzgsIDB4ZjgsIDB4ZDMsIDB4N2YsIDB4ZjMsIDB4ZmIsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ODcsIDB4ODcsIDB4ZDAsIDB4NzAsIDB4OGIsIDB4ZmYsCisgICAgICAgIDB4ZjMsIDB4ZmYsIDB4ZWYsIDB4ZWYsIDB4ODcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NDcsIDB4ZmYsIDB4ZjMsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4N2YsIDB4Y2IsIDB4ZWYsCisgICAgICAgIDB4ZjIsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZWYsIDB4ZjIsIDB4ZjcsIDB4ZmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZWYsIDB4ZGYsIDB4ZjcsIDB4Y2EsIDB4N2YsCisgICAgICAgIDB4ZjMsIDB4ZjcsIDB4ZWYsIDB4ZmYsIDB4ZjYsCisgICAgICAgIDB4ZmYsIDB4ZmEsIDB4ZmIsIDB4ZmYsIDB4ZTcsIDB4ZmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZjcsIDB4NTcsIDB4N2YsIDB4Y2EsIDB4ZWYsCisgICAgICAgIDB4ZjMsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZjYsIDB4ZWIsIDB4ZmEsIDB4ZjcsIDB4ZmYsIDB4ZjcsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4ZTMsIDB4ZjcsIDB4ZWYsIDB4ZDcsIDB4ZjcsIDB4Y2IsIDB4N2YsCisgICAgICAgIDB4ZjMsIDB4OGYsIDB4NmMsIDB4ZjIsIDB4ZTcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4MmYsIDB4ZmYsIDB4ZjEsIDB4OWQsIDB4OWUsIDB4ZjQsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4MGYsIDB4ZmYsIDB4ZjEsIDB4MDksCisgICAgICAgIDB4M2YsIDB4ZjksIDB4YmYsIDB4ZjcsIDB4ZmIsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4N2YsIDB4ZjYsIDB4ZmIsIDB4ZjUsIDB4MGYsIDB4ZGYsCisgICAgICAgIDB4MDAsIDB4ZmYsIDB4ZDAsIDB4YmYsIDB4YzAsIDB4YmYsIDB4ZjksIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4NmYsIDB4ZTEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OWUsIDB4YWYsIDB4ZjcsIDB4MGYsIDB4MTgsIDB4ZDksCisgICAgICAgIDB4YmYsIDB4NmYsIDB4MzcsIDB4ZWYsIDB4OGYsIDB4ZmYsIDB4OWUsIDB4MDYsCisgICAgICAgIDB4NzUsIDB4ZjcsIDB4ZjYsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4N2YsIDB4ZjcsIDB4Y2YsIDB4YmIsIDB4ZmIsIDB4NmQsIDB4ZmIsIDB4ZWYsCisgICAgICAgIDB4N2QsIDB4ZTksIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4YzIsIDB4ZjcsIDB4NmYsCisgICAgICAgIDB4ZmYsIDB4ZGMsIDB4ZmYsIDB4ZjMsIDB4ZmEsCisgICAgICAgIDB4N2YsIDB4NmYsIDB4ZjcsIDB4ZjksIDB4ZmYsIDB4NmQsIDB4ZmUsIDB4OWMsCisgICAgICAgIDB4YmYsIDB4YmYsIDB4N2QsIDB4ZTIsIDB4N2YsIDB4NzcsIDB4OWYsIDB4Y2QsCisgICAgICAgIDB4YjcsIDB4YjUsIDB4ZmYsIDB4ZmYsIDB4N2YsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ODcsIDB4YWUsIDB4ODYsIDB4ZGYsIDB4YzAsIDB4ZmQsCisgICAgICAgIDB4ZmIsIDB4ZmEsIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4NmQsIDB4ZDUsIDB4M2QsCisgICAgICAgIDB4ZjEsIDB4ZmYsIDB4ZmUsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4M2YsIDB4ZDIsIDB4YTQsIDB4ZmUsIDB4ZDksIDB4ZjcsIDB4ZmUsCisgICAgICAgIDB4ZGYsIDB4ZmYsIDB4Y2IsIDB4ZmYsIDB4ZGQsIDB4N2UsIDB4YmIsIDB4ZGQsCisgICAgICAgIDB4NWYsIDB4ZjcsIDB4YmYsIDB4ZmYsIDB4ZWQsCisgICAgICAgIDB4ZmYsIDB4ZmUsIDB4ZjUsIDB4ZmYsIDB4YjcsIDB4ZjYsIDB4YjQsIDB4YWUsCisgICAgICAgIDB4ZmUsIDB4ZWYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MDcsIDB4N2IsCisgICAgICAgIDB4ZmIsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4N2IsIDB4YTMsIDB4YmYsIDB4ZTMsIDB4ZmYsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4ZjcsIDB4ZmQsIDB4ZGYsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4OWIsIDB4ZGYsCisgICAgICAgIDB4ZmIsIDB4ZWYsIDB4ZmUsIDB4ZmYsIDB4M2YsCisgICAgICAgIDB4ZmYsIDB4NmYsIDB4ZmYsIDB4N2YsIDB4YjMsIDB4N2YsIDB4ZGYsIDB4YmQsCisgICAgICAgIDB4NzgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZGYsIDB4ZWUsIDB4OWQsIDB4ZmQsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4MDUsIDB4OGUsIDB4YjAsIDB4NTgsIDB4ZjcsIDB4ZmMsCisgICAgICAgIDB4YTQsIDB4ODUsIDB4ZGQsIDB4YmMsIDB4MGIsIDB4MDUsIDB4NjEsIDB4ZjgsCisgICAgICAgIDB4YjcsIDB4ZmYsIDB4ZWIsIDB4ZWYsIDB4N2YsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4YzcsIDB4YmIsIDB4ZDgsIDB4NmYsIDB4NzksIDB4ZGUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4YmEsIDB4YWYsIDB4ZDksIDB4N2IsCisgICAgICAgIDB4ZmQsIDB4ZmYsIDB4ZjUsIDB4ZGYsIDB4YmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4N2YsIDB4ODgsIDB4N2YsIDB4ZjAsIDB4ZWEsCisgICAgICAgIDB4ZmUsIDB4N2YsIDB4ZjIsIDB4ZmYsIDB4ZGYsIDB4ZDcsIDB4NGYsIDB4N2YsCisgICAgICAgIDB4ZTMsIDB4ZGUsIDB4ZmYsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4N2QsIDB4NmYsIDB4NWYsIDB4YWIsIDB4ZmYsIDB4N2EsIDB4YjYsCisgICAgICAgIDB4YmYsIDB4NzgsIDB4ZGQsIDB4N2YsIDB4ZGUsIDB4ZWYsIDB4NGIsIDB4OWIsCisgICAgICAgIDB4ZWIsIDB4N2YsIDB4NzYsIDB4OWYsIDB4YWMsCisgICAgICAgIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4ZmYsIDB4YjcsIDB4N2YsIDB4YWUsIDB4ZWYsCisgICAgICAgIDB4ZGIsIDB4ZWYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmIsIDB4ZTcsIDB4ZmUsCisgICAgICAgIDB4YmYsIDB4N2UsIDB4ZmIsIDB4ZjcsIDB4ZmIsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4YmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZjMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZDcsIDB4ZmYsCisgICAgICAgIDB4ZTksIDB4ZWYsIDB4ZjIsIDB4ZmUsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4OGQsIDB4YWYsIDB4ZjIsCisgICAgICAgIDB4NzEsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4Y2YsCisgICAgICAgIDB4MGYsIDB4NzUsIDB4ZjEsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4NzgsIDB4YmMsIDB4ZmIsIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4YmYsCisgICAgICAgIDB4ZjMsIDB4MGYsIDB4M2YsIDB4YzksIDB4ZTksIDB4N2YsIDB4ZjcsIDB4ZGYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4NTcsIDB4ODIsIDB4MmUsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmIsIDB4N2EsIDB4ZmIsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZWIsIDB4ODcsIDB4OWIsIDB4ZjEsIDB4ZTUsIDB4N2YsIDB4NzUsIDB4N2YsCisgICAgICAgIDB4ZmUsIDB4ZmYsIDB4YmUsIDB4MzksIDB4NzksCisgICAgICAgIDB4ZmYsIDB4Y2QsIDB4YmYsIDB4ZmQsIDB4N2UsIDB4ZmYsIDB4ZmIsIDB4ZjQsCisgICAgICAgIDB4ZjcsIDB4ZWQsIDB4NmYsIDB4ZjMsIDB4NmIsIDB4ZjcsIDB4ZDcsIDB4YmYsCisgICAgICAgIDB4ZmUsIDB4ZmQsIDB4ZjcsIDB4OGYsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2EsIDB4ZmYsIDB4ZmEsIDB4ZjAsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZTYsIDB4OGYsIDB4OWIsIDB4ZjEsIDB4YWQsIDB4YmYsIDB4ZjcsIDB4ZmQsCisgICAgICAgIDB4YmYsIDB4ZmQsIDB4ZWYsIDB4OGYsIDB4M2YsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4YWQsIDB4ZmIsIDB4ZjQsIDB4YmYsIDB4ZjMsIDB4OTAsCisgICAgICAgIDB4ZGQsIDB4ZjAsIDB4ZmEsIDB4Y2YsIDB4ZTcsIDB4ZjIsIDB4ZjcsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4YWQsIDB4ZmYsIDB4ZjUsIDB4ZGYsCisgICAgICAgIDB4ZmYsIDB4Y2IsIDB4N2IsIDB4ZmEsIDB4ZDIsIDB4N2YsIDB4YzcsIDB4ZjMsCisgICAgICAgIDB4YTksIDB4ZjcsIDB4ZTcsIDB4OGIsIDB4ZTcsIDB4ZjEsIDB4ZjcsIDB4M2YsCisgICAgICAgIDB4OGYsIDB4N2YsIDB4YjAsIDB4ZGYsIDB4ZmQsCisgICAgICAgIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZmIsIDB4ZjIsIDB4ZmYsIDB4ZDIsIDB4ZTMsCisgICAgICAgIDB4ZGYsIDB4ODcsIDB4ZDMsIDB4ZjAsIDB4ZWQsIDB4ZmYsIDB4ZjcsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4NzcsIDB4YWEsIDB4N2YsCisgICAgICAgIDB4YmYsIDB4ZWEsIDB4ZmMsIDB4ZmIsIDB4YjMsIDB4YmYsIDB4YjMsIDB4ZmYsCisgICAgICAgIDB4ZDgsIDB4OTMsIDB4YWIsIDB4ZjEsIDB4YWMsIDB4ZmYsIDB4ZjcsIDB4M2YsCisgICAgICAgIDB4YWYsIDB4ZWYsIDB4ZWQsIDB4YzcsIDB4YWQsCisgICAgICAgIDB4ZmYsIDB4ZDYsIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZjQsCisgICAgICAgIDB4OGYsIDB4YmYsIDB4YjEsIDB4ZWQsIDB4ZjUsIDB4ZmIsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZjUsIDB4OGYsIDB4ZGYsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmUsIDB4ZmIsIDB4ZmYsIDB4ZGYsIDB4OWYsIDB4ZjgsCisgICAgICAgIDB4ZjAsIDB4ZWYsIDB4ZmYsIDB4ZDAsIDB4ZmQsIDB4ZjcsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4YWYsIDB4ZjUsIDB4ZjcsIDB4Y2UsIDB4N2YsCisgICAgICAgIDB4N2YsIDB4ODMsIDB4N2QsIDB4ZmEsIDB4OGYsIDB4NWYsIDB4ZDAsIDB4Y2IsCisgICAgICAgIDB4ZTksIDB4YmIsIDB4NzYsIDB4OWYsIDB4N2IsIDB4ZjcsIDB4OGYsIDB4NmUsCisgICAgICAgIDB4YjEsIDB4ZDUsIDB4ZjcsIDB4NWYsIDB4YzYsCisgICAgICAgIDB4ZmYsIDB4YTMsIDB4N2YsIDB4ZmMsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZGYsIDB4OWYsIDB4N2YsIDB4YTgsIDB4NzcsIDB4ZjUsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4N2YsIDB4MmQsCisgICAgICAgIDB4ZmYsIDB4OTYsIDB4ZmYsIDB4ZmMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4MzcsIDB4NmYsIDB4ZmQsIDB4YWYsIDB4NzcsIDB4ZjgsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NGIsCisgICAgICAgIDB4ZmYsIDB4NzIsIDB4YWYsIDB4ZmYsIDB4ZTUsIDB4ZGYsIDB4OTksIDB4ZmMsCisgICAgICAgIDB4MTAsIDB4NjMsIDB4ZjAsIDB4ZWYsIDB4ZWYsIDB4N2YsIDB4OGIsIDB4ZWYsCisgICAgICAgIDB4YWYsIDB4ZTcsIDB4ZjUsIDB4ZjcsIDB4N2QsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4OGYsIDB4ZmYsIDB4YTEsIDB4NGYsIDB4ODEsIDB4ZTcsCisgICAgICAgIDB4YjAsIDB4ZmEsIDB4ZmUsIDB4ZDcsIDB4Y2YsIDB4ZmYsIDB4Y2EsIDB4Y2YsCisgICAgICAgIDB4MGIsIDB4ODUsIDB4NzEsIDB4ZmEsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZGQsIDB4ZWYsIDB4ZmYsIDB4YTQsIDB4ZGYsIDB4YjEsIDB4ZGMsCisgICAgICAgIDB4ZDMsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4Y2YsIDB4N2YsIDB4Y2IsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ZjUsIDB4ZmYsIDB4YmYsIDB4ZmQsCisgICAgICAgIDB4YmYsIDB4ODIsIDB4YzgsIDB4ZjgsIDB4ZTEsIDB4N2YsIDB4ZjAsIDB4ZGYsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ODcsIDB4ODcsIDB4YzAsIDB4ZjAsIDB4Y2EsIDB4MmYsCisgICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZWYsIDB4ZWUsIDB4OTcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmEsIDB4YTUsIDB4ZGYsIDB4ZDEsIDB4ZjcsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NzcsIDB4ZGIsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZjUsIDB4ZmQsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjYsIDB4OGIsIDB4ZjIsIDB4OTQsIDB4ZmYsIDB4ZjEsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZWYsIDB4ZDcsIDB4ZjcsIDB4ZGYsIDB4ZWUsCisgICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZjMsIDB4Y2IsIDB4ZmYsIDB4ZTYsIDB4ZmYsIDB4ZjEsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZTcsIDB4ZDcsIDB4N2YsIDB4ZGIsIDB4N2UsCisgICAgICAgIDB4ZmQsIDB4ZjcsIDB4ZmYsIDB4ZWYsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZmUsIDB4Y2YsIDB4ZmYsIDB4YzQsIDB4ZmYsIDB4ZjIsIDB4OWYsCisgICAgICAgIDB4ZmYsIDB4ZTAsIDB4ZjcsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZGYsIDB4N2YsCisgICAgICAgIDB4ZGIsIDB4YWMsIDB4ZWYsIDB4ZjEsIDB4ZjcsCisgICAgICAgIDB4N2YsIDB4ZWYsIDB4MGYsIDB4NWYsIDB4YjQsIDB4OGYsIDB4ZmYsIDB4ZjYsCisgICAgICAgIDB4ZmQsIDB4ZmYsIDB4NmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZTksIDB4OGQsCisgICAgICAgIDB4N2YsIDB4ZjEsIDB4ZDEsIDB4ZjcsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZTcsIDB4N2YsIDB4ODcsIDB4ZmQsIDB4ZTcsIDB4OGYsIDB4OWIsCisgICAgICAgIDB4MDAsIDB4ZmYsIDB4YjAsIDB4N2QsIDB4ZmQsIDB4Y2YsIDB4ZmIsIDB4ZmQsCisgICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4NmQsIDB4ZDEsCisgICAgICAgIDB4ZmYsIDB4YmMsIDB4ZWQsIDB4ZmYsIDB4ODYsIDB4NmUsIDB4MTAsIDB4ZjEsCisgICAgICAgIDB4ZjQsIDB4NWYsIDB4N2YsIDB4ZmUsIDB4OWYsIDB4MzcsIDB4YzMsIDB4OGYsCisgICAgICAgIDB4ZjcsIDB4ZTUsIDB4ZmIsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmUsIDB4ZmYsIDB4ZmQsIDB4OTcsIDB4ZmYsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4ZmYsIDB4ZjksIDB4YzMsIDB4MWYsIDB4ZjgsIDB4ZmYsIDB4YjUsCisgICAgICAgIDB4NWYsIDB4ZWYsIDB4ZGMsIDB4ZmYsIDB4YmUsCisgICAgICAgIDB4ZmYsIDB4Y2IsIDB4ZTcsIDB4ZmQsIDB4NjksIDB4ZTcsIDB4ZmMsIDB4YjYsCisgICAgICAgIDB4ZWYsIDB4OWEsIDB4NzcsIDB4YjYsIDB4NjcsIDB4ZGYsIDB4ZWYsIDB4ZjcsCisgICAgICAgIDB4ZmUsIDB4ZGYsIDB4ZmYsIDB4ZjUsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4OTcsIDB4YmUsIDB4ZjQsIDB4ZmYsIDB4ZjEsIDB4YmEsCisgICAgICAgIDB4ZmUsIDB4ZmYsIDB4OTcsIDB4N2YsIDB4YmYsIDB4NzcsIDB4NTUsIDB4ZGYsCisgICAgICAgIDB4ZDksIDB4ZjEsIDB4ZmYsIDB4ZGYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4YmYsIDB4NzIsIDB4ZjIsIDB4ZGQsIDB4ZmYsIDB4ZTQsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZWYsIDB4ZmYsIDB4ZjcsIDB4ZmUsIDB4ZmIsIDB4YjksIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjUsIDB4ZmYsIDB4ZmIsIDB4OTYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZjcsIDB4ZWYsIDB4ODMsIDB4ZjcsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZGYsIDB4ZmYsIDB4ZjcsIDB4ZmQsIDB4ZDUsIDB4OWYsIDB4MGYsIDB4N2YsCisgICAgICAgIDB4ZjAsIDB4ZmIsIDB4YWUsIDB4ZmYsIDB4ZWMsCisgICAgICAgIDB4ZmYsIDB4N2IsIDB4ODUsIDB4ZjcsIDB4ZjMsIDB4ZWYsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZWQsIDB4ZmYsIDB4ZTcsIDB4OGYsIDB4N2YsIDB4YzcsIDB4OTcsCisgICAgICAgIDB4M2YsIDB4ZmMsIDB4ZmYsIDB4ZjcsIDB4ZGUsCisgICAgICAgIDB4ZmYsIDB4ZmQsIDB4OGIsIDB4ZmYsIDB4ZjcsIDB4MWYsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4MmYsIDB4ZmIsIDB4ZjcsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4NmYsCisgICAgICAgIDB4ZjcsIDB4ZjksIDB4ZTcsIDB4ZmYsIDB4MzMsCisgICAgICAgIDB4ZmYsIDB4OWUsIDB4ZTcsIDB4OGIsIDB4ZjAsIDB4NTAsIDB4ZjEsIDB4ZGUsCisgICAgICAgIDB4ZmYsIDB4OWYsIDB4MWIsIDB4MjgsIDB4MWIsIDB4OGQsIDB4YjQsIDB4ZTEsCisgICAgICAgIDB4ZjUsIDB4ZjMsIDB4ZmUsIDB4ZWYsIDB4ZmEsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZjYsIDB4ZmYsIDB4ZmUsIDB4MDcsIDB4ZWMsIDB4ZmIsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZDYsIDB4OGYsIDB4ZmYsIDB4ZjksCisgICAgICAgIDB4ZmYsIDB4MzcsIDB4N2YsIDB4ZmIsIDB4ZGQsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NjMsIDB4ZWYsIDB4ZGYsIDB4ZmEsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZmMsIDB4ZmUsIDB4ZGYsIDB4ZmIsIDB4ZmYsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4ZjksIDB4ZWIsIDB4ZWYsIDB4ZmQsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4N2YsIDB4ZmIsIDB4ZTcsIDB4OWYsIDB4OWIsIDB4ZTUsIDB4Y2YsCisgICAgICAgIDB4ZmQsIDB4ZjcsIDB4Y2YsIDB4ZmYsIDB4ZjMsIDB4YmYsIDB4NWYsIDB4NWQsCisgICAgICAgIDB4NjcsIDB4OWYsIDB4ZGYsIDB4N2YsIDB4ZjksCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MWYsIDB4ZmUsIDB4ZmYsIDB4ZjUsIDB4ZGYsCisgICAgICAgIDB4NWYsIDB4ZmIsIDB4ZmIsIDB4YmYsIDB4Y2YsIDB4ZGYsIDB4ZmIsIDB4N2YsCisgICAgICAgIDB4YjcsIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4M2YsIDB4NzgsIDB4ZmMsIDB4ZjMsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4YmYsCisgICAgICAgIDB4ZjMsIDB4MDUsIDB4M2YsIDB4YzEsIDB4ZjEsIDB4ZmYsIDB4ZjcsIDB4ZWYsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmIsIDB4OTcsIDB4MWYsCisgICAgICAgIDB4ZmYsIDB4ZDgsIDB4N2YsIDB4ZmIsIDB4N2IsIDB4ZmIsIDB4ZjcsIDB4YmYsCisgICAgICAgIDB4YmIsIDB4OGUsIDB4ZDMsIDB4ZTEsIDB4ZmYsIDB4ZmQsIDB4ZjcsIDB4ZWQsCisgICAgICAgIDB4ZmUsIDB4OGIsIDB4NWUsIDB4MGYsIDB4NjksCisgICAgICAgIDB4YmYsIDB4ZjgsIDB4ZmMsIDB4ZmIsIDB4N2IsIDB4ZmYsIDB4ZGYsIDB4ZWQsCisgICAgICAgIDB4ZjcsIDB4OGYsIDB4YmYsIDB4Y2UsIDB4ZmUsIDB4ZmYsIDB4ZjMsIDB4ZmYsCisgICAgICAgIDB4ZjYsIDB4ZmYsIDB4ZmUsIDB4OGYsIDB4MGYsCisgICAgICAgIDB4ZmYsIDB4ZmMsIDB4N2QsIDB4ZmYsIDB4ZmYsIDB4ZmQsIDB4ZjMsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4OGYsIDB4ZTMsIDB4ZjAsIDB4ZmUsIDB4ZmYsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4YWUsIDB4MGYsIDB4NWQsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZDEsCisgICAgICAgIDB4ZmQsIDB4ZjEsIDB4ZDMsIDB4ZGQsIDB4ZmQsIDB4ZjEsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZmIsIDB4ZmQsIDB4ZmYsIDB4ZmQsIDB4ZjYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmUsIDB4ZmQsIDB4ZmYsIDB4ODcsIDB4ZmYsCisgICAgICAgIDB4Y2MsIDB4ZjMsIDB4ZGYsIDB4Y2IsIDB4ZmYsIDB4ZmIsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4OGIsIDB4N2YsIDB4ZmEsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZjgsIDB4ZmUsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZTgsIDB4ZmYsIDB4ZmYsIDB4ZjksIDB4ZmYsCisgICAgICAgIDB4ZmIsIDB4YWYsIDB4N2YsIDB4OGYsIDB4N2UsCisgICAgICAgIDB4YmYsIDB4ZmIsIDB4NzgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZDcsIDB4ZDMsCisgICAgICAgIDB4ZmQsIDB4YzMsIDB4OTUsIDB4YzUsIDB4ZjgsIDB4ZmYsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZmMsIDB4ZjIsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4OGIsIDB4N2IsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmQsCisgICAgICAgIDB4OGYsIDB4ZWYsIDB4ZjQsIDB4YjcsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4NmYsIDB4ZjQsCisgICAgICAgIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZGYsIDB4ZGYsIDB4ZmQsCisgICAgICAgIDB4ZjEsIDB4YjMsIDB4ZmYsIDB4ZDgsIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmQsIDB4ZjUsIDB4ODcsIDB4N2YsCisgICAgICAgIDB4M2YsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4NWYsIDB4ZjAsIDB4ZmYsCisgICAgICAgIDB4ZjEsIDB4ZWYsIDB4MzksIDB4YzcsIDB4N2UsIDB4ZjMsIDB4OGYsIDB4N2UsCisgICAgICAgIDB4ZjEsIDB4YmQsIDB4ZWQsIDB4ZmEsIDB4OWEsCisgICAgICAgIDB4ZmYsIDB4OTgsIDB4N2YsIDB4ZmEsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZjMsIDB4OGYsIDB4NWYsIDB4OGEsIDB4ZmIsIDB4ZjEsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4YWYsIDB4NWYsCisgICAgICAgIDB4ZmYsIDB4ODYsIDB4ZmYsIDB4ZmMsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4YmYsIDB4Y2IsIDB4YmQsIDB4NzcsIDB4ZjIsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4NzcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWQsIDB4ZGYsIDB4ZmYsIDB4ZGQsCisgICAgICAgIDB4MTEsIDB4NzMsIDB4ZmMsIDB4ZmMsIDB4ZWYsIDB4ZmYsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZmQsIDB4ZmQsIDB4OWQsIDB4ZjMsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjksIDB4ZWYsIDB4ZmYsIDB4ZjMsIDB4MGYsIDB4ODMsIDB4OWUsCisgICAgICAgIDB4ZjAsIDB4ZjAsIDB4ZmYsIDB4ZWQsIDB4ZWYsIDB4ZmYsIDB4ZTksIDB4OGUsCisgICAgICAgIDB4N2IsIDB4OWQsIDB4NzAsIDB4ZTksIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZjMsIDB4ZjksCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmIsIDB4ZjMsIDB4ZWYsIDB4ZmQsIDB4ZWIsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjgsCisgICAgICAgIDB4M2YsIDB4ODcsIDB4ZWMsIDB4ZjgsIDB4ZTUsIDB4N2YsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ODcsIDB4ZTgsIDB4ZjAsIDB4ZWIsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4OTcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWQsIDB4ZGYsIDB4ZDMsIDB4YmYsCisgICAgICAgIDB4N2YsIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZTMsIDB4ZWYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZjcsIDB4ZDcsIDB4ZmYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4NzcsIDB4ZWYsIDB4ZmEsIDB4ZTcsIDB4ZmYsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZWYsIDB4ZWYsIDB4ZjcsIDB4ZWEsIDB4ZmUsCisgICAgICAgIDB4ZjMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZWIsIDB4ZjMsIDB4ZWYsIDB4ZmYsIDB4ZjMsIDB4ZmYsCisgICAgICAgIDB4ZjEsIDB4N2YsIDB4ZmYsIDB4ZTcsIDB4ZTcsIDB4ZjcsIDB4ZWEsIDB4ZWUsCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZTcsCisgICAgICAgIDB4ZmYsIDB4ZmIsIDB4NmYsIDB4ZjYsIDB4ZTUsIDB4ZmYsIDB4ZWIsIDB4ZGYsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZWYsIDB4ZmYsIDB4ZTMsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmUsIDB4ZjcsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4NGYsIDB4NWYsIDB4ZTEsIDB4YzcsIDB4ZWYsIDB4ZjEsCisgICAgICAgIDB4ZmUsIDB4N2YsIDB4N2IsIDB4ZmYsIDB4NmYsIDB4ZmYsIDB4OTMsIDB4MGIsCisgICAgICAgIDB4N2YsIDB4ZjEsIDB4ZmEsIDB4ZGYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmIsIDB4N2YsIDB4ZGYsIDB4ZjcsIDB4ZWYsIDB4OGYsIDB4ZmYsCisgICAgICAgIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4ZGYsIDB4N2YsIDB4ZWYsIDB4ZmYsIDB4ZmIsCisgICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4NmYsIDB4ZDEsCisgICAgICAgIDB4ZmYsIDB4ZGUsIDB4ZmYsIDB4ZWYsIDB4YjksIDB4NDksIDB4NzQsIDB4ZjMsCisgICAgICAgIDB4ZWYsIDB4N2IsIDB4N2YsIDB4ZmYsIDB4ZWIsIDB4ZjcsIDB4ODUsIDB4NjcsCisgICAgICAgIDB4ZjEsIDB4ZjAsIDB4ZTEsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4M2YsIDB4YWIsIDB4ZmYsIDB4YzQsIDB4YmIsIDB4ZmYsIDB4OGMsIDB4OWQsCisgICAgICAgIDB4N2UsIDB4M2EsIDB4YjUsIDB4YmIsIDB4ZTMsIDB4ZmIsIDB4ZjMsIDB4Y2QsCisgICAgICAgIDB4ZTMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZGMsIDB4ZjcsIDB4ZjgsIDB4NzcsIDB4OGYsIDB4ZjcsIDB4ZmUsCisgICAgICAgIDB4OWYsIDB4OTcsIDB4N2EsIDB4ZjIsIDB4N2YsIDB4ZmIsIDB4OGYsIDB4MWYsCisgICAgICAgIDB4N2QsIDB4ZmQsIDB4ZWYsIDB4YjEsIDB4N2QsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4YTYsIDB4ZWYsIDB4OTgsIDB4OWQsIDB4ZjAsIDB4ZjQsCisgICAgICAgIDB4ZjQsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4OGYsIDB4N2YsIDB4ODksIDB4N2YsCisgICAgICAgIDB4ZTcsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmIsCisgICAgICAgIDB4YmYsIDB4YTcsIDB4YjcsIDB4ZGYsIDB4YmEsIDB4ZmQsIDB4ZmUsIDB4ZWIsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4YzQsIDB4ZWYsIDB4OGYsIDB4N2MsIDB4ZjcsIDB4OGYsCisgICAgICAgIDB4N2YsIDB4ZjksIDB4ZmIsIDB4ZmYsIDB4ZmIsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWIsIDB4ODcsIDB4ZmQsIDB4ZjQsIDB4ZjcsCisgICAgICAgIDB4NmYsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZWYsIDB4ZGYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ODUsIDB4ZGIsIDB4ZjIsIDB4YmYsIDB4ZDcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjEsIDB4YWYsCisgICAgICAgIDB4N2QsIDB4ZmYsIDB4ZjcsIDB4ZWIsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ZmQsIDB4OGYsIDB4ZmYsIDB4ZmEsIDB4M2YsIDB4ZmYsIDB4ZjYsCisgICAgICAgIDB4YjcsIDB4ZmYsIDB4ZmUsIDB4ZmIsIDB4OGYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZjMsIDB4ZWUsIDB4YmYsIDB4N2YsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4NjcsIDB4YzYsIDB4YWYsIDB4YzMsIDB4NzQsIDB4ZjcsIDB4ZmUsCisgICAgICAgIDB4ZWUsIDB4OGEsIDB4MzcsIDB4NmUsIDB4ZWMsIDB4ODcsIDB4NzEsIDB4OTEsCisgICAgICAgIDB4MTMsIDB4N2QsIDB4ZWMsIDB4ODcsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4N2IsIDB4ZjAsIDB4ZWYsIDB4ZmIsIDB4M2YsIDB4YjcsIDB4ZmMsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OTcsIDB4N2QsIDB4ZTgsIDB4ZWYsIDB4OWQsIDB4NzcsCisgICAgICAgIDB4ZmQsIDB4ZmIsIDB4ZmYsIDB4ZmIsIDB4YmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGUsIDB4NzcsIDB4Y2QsIDB4ZmYsIDB4ZjEsIDB4ZmIsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjksIDB4ZTMsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmMsIDB4Y2YsIDB4ZmYsIDB4ZjMsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmUsIDB4NzcsIDB4YWYsIDB4ZjcsIDB4ZjgsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4NzYsIDB4ZmEsIDB4ZmYsIDB4OTksIDB4NmQsIDB4OWYsIDB4NmYsCisgICAgICAgIDB4ZjEsIDB4YmYsIDB4N2YsIDB4N2YsIDB4ZmMsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4YmYsIDB4ZWIsIDB4ZmEsIDB4ZGQsIDB4ZWYsCisgICAgICAgIDB4YmMsIDB4ZmQsIDB4ZmQsIDB4ZGYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZDEsIDB4ZmUsIDB4ZmYsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4NzAsIDB4ZjgsIDB4ZmYsIDB4ZjUsIDB4ZmYsIDB4ZmYsIDB4OWYsCisgICAgICAgIDB4ZjMsIDB4MDksIDB4MWYsIDB4ZTEsIDB4ZjMsIDB4ZmQsIDB4ZmQsIDB4ZmYsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZjcsIDB4OGUsIDB4MWUsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4NzcsIDB4ZmYsIDB4ZmYsIDB4OWIsCisgICAgICAgIDB4OGYsIDB4OGUsIDB4ZmIsIDB4ZjEsIDB4ZWYsIDB4ZTUsIDB4ZmQsIDB4ZWYsCisgICAgICAgIDB4ZmUsIDB4OWYsIDB4MTYsIDB4MDMsIDB4NjEsCisgICAgICAgIDB4YmYsIDB4ZjgsIDB4ZmEsIDB4ZmQsIDB4NzMsIDB4ZmYsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4ZjcsIDB4OGQsIDB4OWYsIDB4ZTEsIDB4ZjEsIDB4ZmYsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZmMsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MGYsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4ZjcsIDB4ZjcsIDB4ZmQsIDB4ZmYsCisgICAgICAgIDB4OWYsIDB4OGYsIDB4ZTEsIDB4ZjEsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmQsIDB4ZmYsIDB4OGUsIDB4MGYsIDB4N2QsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZjksIDB4ZmUsIDB4ZjMsIDB4N2YsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4ZjcsIDB4ZjMsIDB4ZmQsIDB4ZWYsIDB4ZmYsIDB4ZjksIDB4ZWQsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4N2UsIDB4ZmUsIDB4ZjcsIDB4ZmYsIDB4OGIsIDB4ZjcsCisgICAgICAgIDB4ZmMsIDB4ZWIsIDB4ZWIsIDB4ZWQsIDB4ZWIsIDB4ZjksIDB4ZmQsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4N2YsIDB4ZjIsIDB4ZmUsIDB4ZWQsCisgICAgICAgIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4ZjcsIDB4OGQsIDB4ZmYsIDB4ZTgsIDB4ZmYsIDB4ZmQsIDB4ZWYsIDB4ZmUsCisgICAgICAgIDB4ZmQsIDB4ZGYsIDB4ZjYsIDB4OGYsIDB4NmYsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4NzgsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZTMsIDB4OWYsIDB4ZTUsIDB4ZWEsIDB4ZjUsIDB4ZmQsIDB4ZmYsCisgICAgICAgIDB4ZWQsIDB4ZWYsIDB4ZmYsIDB4ZjcsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4MDcsIDB4ZmYsIDB4ZjksIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4OGYsIDB4ZmYsIDB4ZjMsIDB4OTMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4OGYsIDB4N2YsIDB4ZjMsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4OGIsIDB4ZmYsIDB4ZTgsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4ZWYsIDB4ZjcsIDB4ZjUsIDB4OGUsIDB4N2YsCisgICAgICAgIDB4M2YsIDB4ZWMsIDB4ZjksIDB4ZmMsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZWYsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4MWQsIDB4ZWQsIDB4N2UsIDB4ZmQsIDB4OGYsIDB4NmUsCisgICAgICAgIDB4ZjEsIDB4ZDcsIDB4ZjcsIDB4ZGUsIDB4OGMsCisgICAgICAgIDB4ZmYsIDB4ODAsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmIsIDB4OGYsIDB4NmYsIDB4OTAsIDB4ZmYsIDB4ZjMsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ODcsIDB4ZmIsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4OWYsIDB4ZmYsIDB4OTMsIDB4N2YsIDB4ZjIsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4NjksCisgICAgICAgIDB4ZmYsIDB4ZmIsIDB4ZWYsIDB4ZmYsIDB4ZjYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4MWYsIDB4NzMsIDB4ZmUsIDB4ZjYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4ZWYsIDB4ZTcsIDB4OTcsIDB4NzcsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZTcsIDB4MWYsIDB4ODYsIDB4OTUsCisgICAgICAgIDB4ZjAsIDB4ZjYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4OGYsCisgICAgICAgIDB4NmQsIDB4OTMsIDB4NzEsIDB4ZjgsIDB4ZmQsCisgICAgICAgIDB4ZmYsIDB4ZmUsIDB4ZWYsIDB4ZmQsIDB4ZjIsIDB4ZmYsIDB4ZjYsIDB4ZmYsCisgICAgICAgIDB4NmYsIDB4ZWYsIDB4ZjcsIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZmQsIDB4ZmYsCisgICAgICAgIDB4ZmQsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZjUsCisgICAgICAgIDB4M2YsIDB4ODIsIDB4ZjgsIDB4ZjgsIDB4ZTYsIDB4N2YsIDB4ZjIsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ODcsIDB4ODcsIDB4ZjAsIDB4ZjAsIDB4ZmMsIDB4ZWYsCisgICAgICAgIDB4ZmQsIDB4ZjcsIDB4ZWYsIDB4ZWUsIDB4ODcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZTcsIDB4ZmYsIDB4ZjYsIDB4ZjcsCisgICAgICAgIDB4N2YsIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZjIsIDB4ZTYsIDB4ZmYsIDB4ZjUsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZTcsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZWYsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZmEsIDB4ZWIsIDB4ZmYsIDB4ZTMsIDB4ZmYsIDB4ZjUsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZWYsIDB4ZjcsIDB4ZmYsIDB4ZmQsIDB4ZWUsCisgICAgICAgIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZjYsIDB4ZmIsIDB4N2EsIDB4ZTcsIDB4ZmYsIDB4OTEsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZTIsIDB4ZmYsIDB4ZjcsIDB4ZjcsIDB4ZjcsIDB4ZmQsIDB4ZmYsCisgICAgICAgIDB4ZmQsIDB4ZWYsIDB4ZWIsIDB4ZjUsIDB4ZTcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4YmUsIDB4ZjEsIDB4OTMsIDB4ZmQsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MmUsIDB4MmYsIDB4NTksIDB4OGYsCisgICAgICAgIDB4NmYsIDB4ZjksIDB4ZjcsIDB4ZmYsIDB4ZmEsCisgICAgICAgIDB4ZmYsIDB4NGYsIDB4YmYsIDB4YzQsIDB4ZmIsIDB4ZjUsIDB4MGYsIDB4ZmYsCisgICAgICAgIDB4MDAsIDB4ZmYsIDB4ZDAsIDB4N2YsIDB4NzAsIDB4YWYsIDB4N2YsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4N2YsIDB4YjEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGEsIDB4ZmYsIDB4MmYsIDB4NGYsIDB4N2UsIDB4ZjksCisgICAgICAgIDB4ZmIsIDB4ZmYsIDB4NWYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4OTksIDB4MjksCisgICAgICAgIDB4NzEsIDB4ZjEsIDB4ZWQsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4YjcsIDB4ZWYsIDB4ZGYsIDB4ZmYsIDB4ZjksIDB4ZmUsIDB4ZmQsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4YjcsIDB4OWYsIDB4ZmYsIDB4YWIsIDB4NzMsIDB4ZmQsCisgICAgICAgIDB4YWQsIDB4M2MsIDB4NmIsIDB4ZmYsIDB4ZmEsCisgICAgICAgIDB4ZmYsIDB4ZTgsIDB4ZjcsIDB4YmYsIDB4NmYsIDB4OGYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ODcsIDB4N2YsIDB4ZTAsIDB4N2YsIDB4YmYsIDB4NWYsIDB4OTMsCisgICAgICAgIDB4N2UsIDB4ZTQsIDB4ZjYsIDB4OTcsIDB4N2IsCisgICAgICAgIDB4ZmYsIDB4ZGYsIDB4MjcsIDB4YWYsIDB4YTcsIDB4ZmYsIDB4ZjQsIDB4ZjYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NWYsIDB4ZGYsIDB4ZmIsIDB4ODcsIDB4MWYsCisgICAgICAgIDB4NzAsIDB4ZjMsIDB4ZmUsIDB4N2YsIDB4ZmIsCisgICAgICAgIDB4YmYsIDB4YjcsIDB4NjEsIDB4YjUsIDB4ZmMsIDB4ZmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4YTIsIDB4ZmYsIDB4ZDgsIDB4YTEsIDB4NzcsIDB4ZGYsCisgICAgICAgIDB4ZTYsIDB4ZmYsIDB4ZmYsIDB4N2UsIDB4YzQsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjYsIDB4ZDcsIDB4OTcsIDB4ZGIsIDB4ZTgsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YjksIDB4M2IsCisgICAgICAgIDB4ZjgsIDB4ZmYsIDB4ZWYsIDB4ZTcsIDB4YmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ODYsIDB4YmYsIDB4ZTIsIDB4YWQsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4ZmYsIDB4OGYsIDB4M2YsIDB4NjMsIDB4Y2YsCisgICAgICAgIDB4N2IsIDB4ZmUsIDB4ZmYsIDB4ZmQsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4YmEsIDB4N2YsIDB4ZjcsIDB4ZWUsCisgICAgICAgIDB4MTcsIDB4ZjcsIDB4ZWUsIDB4ZWYsIDB4OTcsIDB4N2YsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmQsIDB4OWUsIDB4NzcsIDB4ZjMsCisgICAgICAgIDB4ZmYsIDB4ZmIsIDB4YzMsIDB4OGYsIDB4YzEsIDB4NzAsIDB4NzEsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4OWYsIDB4NzcsIDB4N2UsIDB4YjYsIDB4NGYsIDB4YjksIDB4MDEsCisgICAgICAgIDB4MWYsIDB4MWIsIDB4N2EsIDB4OWEsIDB4N2UsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4ZjAsIDB4OWYsIDB4ZWYsIDB4NzksIDB4M2YsIDB4ZjYsCisgICAgICAgIDB4ZmYsIDB4ZmQsIDB4OWQsIDB4N2IsIDB4ZjIsIDB4ZmYsIDB4YzksIDB4ZjMsCisgICAgICAgIDB4ZmYsIDB4N2QsIDB4ZmIsIDB4ZmQsIDB4YmYsCisgICAgICAgIDB4ZmYsIDB4ZmQsIDB4YmYsIDB4NzcsIDB4OGYsIDB4ZmYsIDB4ZjEsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmQsIDB4YmIsIDB4N2YsIDB4YmYsIDB4NmYsCisgICAgICAgIDB4ZjMsIDB4ZmUsIDB4ZmYsIDB4ZTcsIDB4YmYsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4NWYsIDB4YWYsIDB4ZjEsIDB4ZmMsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4NzcsIDB4ZmUsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZGYsIDB4ZmYsCisgICAgICAgIDB4ZTMsIDB4OWUsIDB4N2YsIDB4N2EsIDB4ZTMsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4NmYsIDB4ZmYsIDB4YWYsIDB4ZmMsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmUsIDB4ZmUsIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjMsIDB4ZmIsCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZjksIDB4ZmUsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4NzAsIDB4ZjgsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4MGYsIDB4MGYsIDB4ZjEsIDB4ZjEsIDB4ZmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZjcsIDB4OGMsIDB4MWUsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4N2YsIDB4ZjcsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4OGYsIDB4ODgsIDB4ZjEsIDB4ZjEsIDB4ZWYsIDB4ZmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZWUsIDB4OTcsIDB4MWUsIDB4MDEsIDB4NjEsCisgICAgICAgIDB4YmYsIDB4ZjAsIDB4ZmEsIDB4ZmQsIDB4NzUsIDB4ZmYsIDB4ZjUsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4OWYsIDB4ZTEsIDB4ZjEsIDB4ZmYsIDB4ZjcsIDB4ZWYsCisgICAgICAgIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MWYsCisgICAgICAgIDB4ZmYsIDB4ZmEsIDB4N2YsIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmQsIDB4ZmYsCisgICAgICAgIDB4OWYsIDB4OWYsIDB4ZjksIDB4ZjksIDB4ZmYsIDB4ZWYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OWUsIDB4MGYsIDB4NzUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZjcsIDB4ZmYsIDB4ZWYsIDB4ZjcsIDB4ZTcsIDB4ZWYsCisgICAgICAgIDB4ZWYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsCisgICAgICAgIDB4ZjgsIDB4ZjcsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZjcsIDB4ZTcsIDB4ZWYsCisgICAgICAgIDB4OWYsIDB4NmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmQsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZWYsCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4OWQsIDB4N2UsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4NzgsIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmQsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4OGYsIDB4ZjcsIDB4ZjAsIDB4ZjcsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4ZWYsIDB4ZmUsIDB4ZTcsIDB4OWYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4ZmYsIDB4ZjgsIDB4OGYsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4NmYsIDB4ZTEsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4ODcsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZWYsIDB4ZWYsIDB4ZmYsIDB4OWYsIDB4N2YsCisgICAgICAgIDB4M2YsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4OWYsCisgICAgICAgIDB4ZjcsIDB4ZmIsIDB4MDcsIDB4ZTcsIDB4NzgsIDB4ZjcsIDB4OGYsIDB4N2UsCisgICAgICAgIDB4ZjEsIDB4OWYsIDB4N2YsIDB4ZmYsIDB4OWUsCisgICAgICAgIDB4ZmYsIDB4ODAsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4OGYsIDB4NmYsIDB4ODAsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmUsIDB4OWYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ODgsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4OWYsIDB4ZWYsIDB4ODEsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4OWYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OTcsIDB4NzcsIDB4ZjgsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZWYsIDB4ZWYsIDB4OGYsIDB4NzYsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4MGYsIDB4ZjcsIDB4ODgsCisgICAgICAgIDB4ZjcsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4OGUsCisgICAgICAgIDB4MDcsIDB4OTksIDB4NjEsIDB4ZTEsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZjcsIDB4ZWYsIDB4ZmYsIDB4ZTcsIDB4ZWUsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZDcsIDB4ZmYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4YmYsIDB4ODcsIDB4ZjgsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZTAsIDB4ZjAsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZTcsIDB4ZmYsCisgICAgICAgIDB4ZjYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NmYsIDB4ZmYsIDB4ZTcsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4OTcsIDB4ZWUsIDB4ZjksIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ODAsIDB4ODgsIDB4ZmYsIDB4ZjgsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4MGYsIDB4MWYsIDB4NzksIDB4OWIsCisgICAgICAgIDB4N2YsIDB4ZjAsIDB4ZmUsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4NGYsIDB4N2IsIDB4ZjcsIDB4ZjcsIDB4ZjgsIDB4MGYsIDB4ZmYsCisgICAgICAgIDB4MDAsIDB4ZmYsIDB4ZDAsIDB4NGYsIDB4NzUsIDB4OGMsIDB4NzksIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4N2UsIDB4YjEsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmUsIDB4OGYsIDB4N2YsIDB4NzAsIDB4ZjAsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4N2YsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ODQsIDB4MGUsCisgICAgICAgIDB4NzMsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4YmQsIDB4ZmQsIDB4ZmIsIDB4ZjcsIDB4ZTgsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4NzgsIDB4ZjAsIDB4M2YsIDB4YmYsIDB4ZTMsIDB4OWIsIDB4NmYsIDB4ZmYsCisgICAgICAgIDB4OTcsIDB4MWYsIDB4N2YsIDB4Y2YsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZjcsIDB4ZmYsIDB4OGYsIDB4ODAsIDB4ZmYsIDB4ZjgsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4NzgsIDB4ZjAsIDB4N2YsIDB4OWYsIDB4N2YsIDB4OWIsCisgICAgICAgIDB4N2YsIDB4ZjEsIDB4ZmYsIDB4OTcsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4MDcsIDB4ZmYsIDB4ODcsIDB4N2YsIDB4ZjAsIDB4ZjgsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmIsIDB4N2YsIDB4ZWUsIDB4ZmIsIDB4OTksIDB4MTksCisgICAgICAgIDB4NzMsIDB4ZWYsIDB4ZjcsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ODcsIDB4MDQsIDB4ZmMsIDB4ZmYsIDB4MDgsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4N2IsIDB4N2YsIDB4OGUsIDB4OGYsIDB4ZjksIDB4OTgsIDB4NmYsIDB4ZjMsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZGYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4NzMsIDB4ZmYsIDB4ZjcsIDB4OWYsIDB4ZjgsIDB4ZmIsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4M2QsCisgICAgICAgIDB4NjEsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4MDcsIDB4ZmYsIDB4ZjgsIDB4NzgsIDB4ZmYsIDB4ZWUsCisgICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ODcsIDB4MWYsIDB4NzEsIDB4ZTMsCisgICAgICAgIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4NzcsIDB4OGIsIDB4N2YsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4MDcsIDB4ZTcsIDB4ZmEsIDB4NzcsIDB4OGYsIDB4N2YsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4ZjEsIDB4ZWYsIDB4OWYsIDB4NzcsIDB4ZjksCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4NzMsIDB4OGYsIDB4ZjgsIDB4MGYsIDB4ODgsIDB4ODgsCisgICAgICAgIDB4ZjgsIDB4OTgsIDB4NzcsIDB4NzgsIDB4OGYsIDB4NmYsIDB4ODcsIDB4N2IsCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZWYsIDB4ODcsIDB4NmYsCisgICAgICAgIDB4YmYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2UsIDB4ZmYsIDB4OWYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZWIsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4OWYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NzcsIDB4ZjgsIDB4N2YsIDB4ZjgsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZjcsIDB4ZmYsIDB4OWYsIDB4N2YsIDB4OWIsIDB4NmYsCisgICAgICAgIDB4ZjEsIDB4ZmUsIDB4ZmYsIDB4ZmUsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4N2YsIDB4OGYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4N2YsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4NzAsIDB4ZmIsIDB4NmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjUsCisgICAgICAgIDB4ZjksIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjQsCisgICAgICAgIDB4ZmYsIDB4ODcsIDB4ZmYsIDB4NzQsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2UsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZTksIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4NzgsIDB4ZjgsIDB4N2YsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4MDcsIDB4MWYsIDB4ZTEsIDB4ZjEsIDB4ZmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZWYsIDB4ZWYsIDB4ZmYsIDB4OGUsIDB4MGYsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ODcsCisgICAgICAgIDB4OWYsIDB4ODgsIDB4ZjEsIDB4ZTEsIDB4ZmYsIDB4ZWYsIDB4ZjcsIDB4ZWYsCisgICAgICAgIDB4ZmUsIDB4OWYsIDB4MGYsIDB4MDksIDB4NzEsCisgICAgICAgIDB4YmYsIDB4ZjAsIDB4ZjgsIDB4ZmYsIDB4NzcsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ZjAsIDB4ZmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmUsIDB4ZjcsIDB4ZmYsIDB4OGUsIDB4MWYsCisgICAgICAgIDB4N2YsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4OGYsIDB4ZjksIDB4ZjgsIDB4ZmUsIDB4ZmYsIDB4ZTcsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OTYsIDB4MGYsIDB4NjEsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZWYsIDB4ZmYsIDB4ZjcsIDB4ZTcsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZTcsIDB4ZmYsIDB4ZjcsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsCisgICAgICAgIDB4ZjgsIDB4ZWYsIDB4ZWYsIDB4ZWYsIDB4ZmYsIDB4ZjcsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4OWYsIDB4NjcsIDB4ZjAsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZTAsIDB4ZjcsIDB4ZmYsIDB4ZjcsIDB4ZmUsCisgICAgICAgIDB4ZjcsIDB4ZjcsIDB4ZmYsIDB4OGYsIDB4NmUsCisgICAgICAgIDB4M2YsIDB4ZmIsIDB4N2MsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZTcsIDB4OWYsIDB4ZWYsIDB4ZjAsIDB4ZmYsIDB4ZTcsIDB4ZWYsCisgICAgICAgIDB4ZjcsIDB4ZWYsIDB4ZjYsIDB4ZjYsIDB4ODcsCisgICAgICAgIDB4ZmYsIDB4MDcsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4ZmYsIDB4ZjQsIDB4OWYsIDB4ZmYsIDB4ZmMsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjAsCisgICAgICAgIDB4N2YsIDB4ZmMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4ODcsIDB4ZmYsIDB4ZTgsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZWYsIDB4ZTcsIDB4ZjcsIDB4OGYsIDB4NmYsCisgICAgICAgIDB4M2YsIDB4ZmYsIDB4ZmMsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4Y2YsCisgICAgICAgIDB4ZWYsIDB4ZTgsIDB4MWIsIDB4ZWYsIDB4N2MsIDB4ZmYsIDB4OGYsIDB4N2UsCisgICAgICAgIDB4ZTEsIDB4OTcsIDB4NzcsIDB4ZmYsIDB4OWUsCisgICAgICAgIDB4ZmYsIDB4ODAsIDB4N2YsIDB4ZmMsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4OGYsIDB4N2YsIDB4ODAsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ODQsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4NmYsIDB4OWYsIDB4ZmYsIDB4OTEsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4MWYsIDB4NzcsIDB4ZjgsIDB4ZjcsIDB4ZWYsIDB4ZmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4ZWYsIDB4ODcsIDB4NjcsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MGYsIDB4OGIsIDB4OGMsCisgICAgICAgIDB4ZjAsIDB4ZjgsIDB4ZjcsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZTcsIDB4OWUsCisgICAgICAgIDB4NjcsIDB4ODksIDB4NzcsIDB4ZjEsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjMsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZmIsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZTcsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4YmYsIDB4ODcsIDB4ZjgsIDB4ZjgsIDB4ZjcsIDB4N2YsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZTAsIDB4ZjAsIDB4ZTcsIDB4ZmUsCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmIsIDB4ZmYsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjMsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZDcsIDB4ZmYsIDB4YjcsIDB4ZGYsCi0gICAgICAgIDB4ZjgsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZWYsIDB4ZGUsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmUsIDB4MGYsIDB4YWYsIDB4ZDEsIDB4OGIsIDB4ZjcsIDB4ZjAsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4MDAsIDB4MmYsIDB4NzEsIDB4YTEsCi0gICAgICAgIDB4N2YsIDB4ZjEsIDB4ZmUsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4M2YsIDB4ZTcsIDB4ZmIsIDB4ZmQsIDB4MGYsIDB4ZmYsCi0gICAgICAgIDB4MDAsIDB4ZmYsIDB4ZjAsIDB4N2YsIDB4ZWYsIDB4YmYsIDB4N2YsIDB4ZjEsCi0gICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4N2UsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4YTcsIDB4ZmYsIDB4ZDksIDB4OGMsIDB4NDcsIDB4NzMsIDB4ZjQsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4OGYsIDB4ZmYsIDB4ZDksIDB4OGYsIDB4MWYsCi0gICAgICAgIDB4NzEsIDB4ZjAsIDB4ZmYsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4M2YsIDB4ZmYsIDB4ZjksIDB4ZWUsIDB4ZGUsIDB4ZmQsIDB4ZTcsIDB4ZWUsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjEsIDB4OWUsIDB4N2YsIDB4ZTEsCi0gICAgICAgIDB4YmYsIDB4M2UsIDB4NzEsIDB4ZjEsIDB4OGUsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZDcsIDB4YWYsIDB4NzcsIDB4OGIsIDB4ZmYsIDB4ZjAsCi0gICAgICAgIDB4ZmYsIDB4YTcsIDB4N2YsIDB4ZjAsIDB4N2YsIDB4YTcsIDB4NWYsIDB4ODEsCi0gICAgICAgIDB4N2UsIDB4ZjEsIDB4YmYsIDB4MGYsIDB4NzEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YjcsIDB4YmYsIDB4OGIsIDB4ZWIsIDB4ZjIsIDB4ZGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZWYsIDB4OGYsIDB4M2YsCi0gICAgICAgIDB4NzEsIDB4ZjEsIDB4ZmUsIDB4N2YsIDB4ZjcsCi0gICAgICAgIDB4ZmYsIDB4ODcsIDB4ZjcsIDB4YTgsIDB4ZmUsIDB4ZmIsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YWYsIDB4ZmYsIDB4ZmIsIDB4OGYsIDB4ZjYsIDB4YTksIDB4N2YsIDB4ZDEsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4ZjYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZDAsIDB4ZDcsIDB4ODcsIDB4ZmUsIDB4ZjAsIDB4YWMsCi0gICAgICAgIDB4ZmYsIDB4ZmIsIDB4YWMsIDB4ZmYsIDB4ZDksIDB4ZmYsIDB4YWYsIDB4N2YsCi0gICAgICAgIDB4NzEsIDB4ZTMsIDB4ZGYsIDB4N2YsIDB4ODMsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4YTcsIDB4YWYsIDB4ZjEsIDB4YTksIDB4ZmYsIDB4ZmIsCi0gICAgICAgIDB4ZmQsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4YWYsIDB4MmYsIDB4NzEsIDB4ZTEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4YmQsIDB4ZmYsIDB4ZjMsIDB4ZjcsCi0gICAgICAgIDB4MGYsIDB4ZjcsIDB4ZjgsIDB4N2YsIDB4YjcsIDB4N2YsIDB4ZTEsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZGYsIDB4YWYsIDB4N2YsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4NGYsIDB4YmYsIDB4ZTQsIDB4ZWIsIDB4NjUsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4NzcsIDB4NzAsIDB4OWYsIDB4NGYsIDB4YjEsIDB4M2YsCi0gICAgICAgIDB4MzEsIDB4MzEsIDB4NzEsIDB4ODEsIDB4N2YsCi0gICAgICAgIDB4YmYsIDB4N2YsIDB4ZDAsIDB4YmYsIDB4ZmUsIDB4ZmIsIDB4MmYsIDB4ZGYsCi0gICAgICAgIDB4ZGIsIDB4ZmUsIDB4OGYsIDB4N2YsIDB4ZDAsIDB4ZWYsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4ZWYsIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ODAsIDB4ZmYsIDB4ZjAsIDB4ZGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4N2YsIDB4ODEsIDB4N2YsCi0gICAgICAgIDB4ZjEsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZWYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OTcsIDB4ZmYsIDB4ZjIsIDB4ZWYsCi0gICAgICAgIDB4ZWYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4YmYsIDB4N2YsIDB4NzEsIDB4ZjYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4YmYsIDB4ZmUsIDB4ZGIsIDB4ZmYsCi0gICAgICAgIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZjcsIDB4ZWYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4M2YsIDB4NzgsIDB4ZjgsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4MGYsIDB4NzEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4OGUsIDB4MGUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZjcsIDB4ZmYsIDB4OGIsIDB4ZmYsCisgICAgICAgIDB4ZmMsIDB4ZjMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZWUsIDB4ZmYsIDB4ZjYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4OGYsIDB4YmYsIDB4ZjksIDB4OGYsIDB4ZmYsIDB4ZjAsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4MWYsIDB4MWYsIDB4NzEsIDB4ODksCisgICAgICAgIDB4N2YsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4NGYsIDB4YjgsIDB4YzYsIDB4ZmIsIDB4ZmQsIDB4MGYsIDB4ZmYsCisgICAgICAgIDB4MDAsIDB4ZmYsIDB4ZDAsIDB4N2YsIDB4NzksIDB4OTAsIDB4N2YsIDB4ZjksCisgICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4N2YsIDB4ODEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4YjAsIDB4NGYsIDB4NzcsIDB4ZjQsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZTcsIDB4ZWUsIDB4ZmYsIDB4OTcsIDB4MDcsCisgICAgICAgIDB4NjksIDB4ZjEsIDB4ZjcsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4YmEsIDB4ZmYsIDB4NGQsIDB4ZmUsIDB4ZTUsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZWYsIDB4YmYsIDB4OWYsIDB4ZTcsIDB4OWYsIDB4NzcsIDB4ZTksCisgICAgICAgIDB4OWYsIDB4MWYsIDB4NzksIDB4YzEsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZjcsIDB4M2YsIDB4ZmYsIDB4OWYsIDB4ZjcsIDB4ZjgsCisgICAgICAgIDB4ZmYsIDB4ODcsIDB4N2YsIDB4ZjAsIDB4N2YsIDB4OTcsIDB4N2YsIDB4ODksCisgICAgICAgIDB4N2UsIDB4ZjEsIDB4ZmYsIDB4OWYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4MzcsIDB4YmYsIDB4YjMsIDB4N2YsIDB4ZjIsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4N2YsIDB4N2IsIDB4ZmUsIDB4ODcsIDB4MWYsCisgICAgICAgIDB4NzEsIDB4ZjEsIDB4ZmYsIDB4N2YsIDB4ZmIsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4NzAsIDB4YjcsIDB4ZmUsIDB4N2IsIDB4ZmYsIDB4ZjMsCisgICAgICAgIDB4YmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZjksIDB4OWYsIDB4N2YsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmIsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4ZjQsIDB4Y2YsIDB4ODcsIDB4ZDgsIDB4ZjgsIDB4ZjgsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZTksIDB4ZmYsIDB4OGYsIDB4MWYsCisgICAgICAgIDB4NzEsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4OGQsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ODcsIDB4YmYsIDB4ZjksIDB4M2YsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4MWYsIDB4NzEsIDB4ZjksCisgICAgICAgIDB4ZmYsIDB4N2IsIDB4ZmYsIDB4ZmUsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4Y2IsIDB4ZmYsIDB4YmQsIDB4N2YsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4OWYsIDB4N2YsIDB4ZjEsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4OGYsIDB4N2YsIDB4ZjksCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4NDMsIDB4OGYsIDB4YzQsIDB4NzUsIDB4N2QsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OTcsIDB4N2YsIDB4NzgsIDB4OGYsIDB4NmYsIDB4OTksIDB4MTcsCisgICAgICAgIDB4MTksIDB4NzEsIDB4ZjksIDB4OGYsIDB4NmYsCisgICAgICAgIDB4YmYsIDB4N2YsIDB4ZjAsIDB4OGYsIDB4ZjYsIDB4N2QsIDB4MzcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4N2YsIDB4ZTAsIDB4ZmYsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmIsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4NzcsIDB4OGUsIDB4ZmYsIDB4ZjAsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZjcsIDB4N2YsIDB4OTcsIDB4N2YsIDB4OTksIDB4N2YsCisgICAgICAgIDB4ZjksIDB4ZmUsIDB4ZmYsIDB4ZmUsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4YmYsIDB4ZjksIDB4ZmEsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4OGYsIDB4N2YsIDB4NzEsIDB4ZjYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4YjcsIDB4ZmUsIDB4ZmIsIDB4ZmYsCisgICAgICAgIDB4ZjYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4NzgsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4MDgsIDB4MGYsIDB4ZjEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4MGUsCiAgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4OGYsIDB4MDAsIDB4NzEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4ODAsIDB4ZjEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmUsIDB4OGYsIDB4MGUsIDB4MDEsIDB4NzEsCi0gICAgICAgIDB4YmYsIDB4ZjgsIDB4ZjgsIDB4ZjcsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4MGYsIDB4NzEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ZjgsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZjEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MGYsCiAgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4OGYsIDB4MGYsIDB4NzEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4OGYsIDB4ZjEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4MGYsIDB4NzEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4N2YsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsCiAgICAgICAgIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4OGYsIDB4N2UsCisgICAgICAgIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4ODgsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2UsCiAgICAgICAgIDB4YmYsIDB4ZmYsIDB4NzgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4OGYsIDB4ZjcsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4ODcsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4ZmYsIDB4ZjgsIDB4OGYsIDB4ZjcsIDB4ZjgsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4N2YsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ODcsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4M2YsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZGYsCisgICAgICAgIDB4ZmYsIDB4ZjYsIDB4MDcsIDB4ZmYsIDB4NzgsIDB4ZmYsIDB4OGYsIDB4N2UsCisgICAgICAgIDB4ZjEsIDB4OWYsIDB4N2YsIDB4ZmQsIDB4OGUsCisgICAgICAgIDB4ZmYsIDB4ODAsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZjcsIDB4OGYsIDB4N2YsIDB4ODAsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ODAsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4OGYsIDB4ZmYsIDB4ODEsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4NzcsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4NmUsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MGYsIDB4OGYsIDB4ODgsCisgICAgICAgIDB4ZjAsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGUsCisgICAgICAgIDB4N2YsIDB4ODEsIDB4N2YsIDB4ZjEsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ODcsIDB4ZjgsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ZjAsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ODcsIDB4ZmYsCisgICAgICAgIDB4ZjgsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmUsIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4M2YsIDB4OGYsIDB4ZjAsIDB4ODUsIDB4ZmYsIDB4ZjAsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4MGQsIDB4MGYsIDB4NzEsIDB4ODEsCisgICAgICAgIDB4N2UsIDB4ZjEsIDB4ZmUsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4NWYsIDB4M2QsIDB4ZjAsIDB4ZjUsIDB4ZmEsIDB4MGYsIDB4ZmYsCisgICAgICAgIDB4MDAsIDB4ZmYsIDB4ODAsIDB4MGYsIDB4ZjEsIDB4ODgsIDB4N2YsIDB4ZjEsCisgICAgICAgIDB4OGYsIDB4N2UsIDB4ODEsIDB4N2UsIDB4YzEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmEsIDB4NGYsIDB4NzUsIDB4ZmEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MGYsCisgICAgICAgIDB4NzEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4YmYsIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4ZmEsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4N2YsIDB4ZGYsIDB4N2YsIDB4ZjQsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjEsCisgICAgICAgIDB4OGYsIDB4MGYsIDB4NzEsIDB4ZjEsIDB4YmUsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZjcsIDB4YmIsIDB4N2YsIDB4ODUsIDB4ZmYsIDB4ZjAsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4N2YsIDB4ODcsIDB4N2YsIDB4ODEsCisgICAgICAgIDB4N2UsIDB4ZjEsIDB4OGYsIDB4MGYsIDB4NzEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ODcsIDB4OGYsIDB4OGQsIDB4ZmQsIDB4ZjUsIDB4ZmYsCisgICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmUsIDB4OGYsIDB4MGYsCisgICAgICAgIDB4NzEsIDB4ZjEsIDB4ZmUsIDB4N2YsIDB4ZjcsCisgICAgICAgIDB4YmYsIDB4MDcsIDB4YzAsIDB4YmYsIDB4ZjcsIDB4ZmQsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4ODUsIDB4OGYsIDB4ZjksIDB4OGYsIDB4N2YsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZjYsIDB4ZmYsIDB4ODMsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjQsIDB4ZmYsIDB4OGYsIDB4ZGEsIDB4ZjAsIDB4YjYsCisgICAgICAgIDB4ZGYsIDB4ZmQsIDB4ZjYsIDB4ZmYsIDB4ZjksIDB4ZmYsIDB4OGYsIDB4MWYsCisgICAgICAgIDB4NzEsIDB4ZmQsIDB4OGYsIDB4N2IsIDB4ZmQsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4YjcsIDB4OGYsIDB4ZjAsIDB4YmQsIDB4ZmYsIDB4ZmQsCisgICAgICAgIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MGYsIDB4NzEsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4N2IsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmEsIDB4N2YsIDB4ZjUsIDB4ZjcsCisgICAgICAgIDB4MGYsIDB4ZjcsIDB4ZjAsIDB4N2YsIDB4ODcsIDB4N2YsIDB4ZjEsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmUsIDB4OGYsIDB4N2YsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4NDcsIDB4OGYsIDB4Y2EsIDB4NzAsIDB4N2EsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4N2YsIDB4NzAsIDB4OGYsIDB4N2YsIDB4ODEsIDB4MGUsCisgICAgICAgIDB4MDEsIDB4MDEsIDB4NzEsIDB4ODEsIDB4N2YsCisgICAgICAgIDB4YmYsIDB4N2YsIDB4ZjAsIDB4OGYsIDB4ZmYsIDB4NzAsIDB4M2YsIDB4ZmYsCisgICAgICAgIDB4ZmQsIDB4ZmUsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmUsIDB4ZmIsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4N2YsIDB4ODUsIDB4N2YsIDB4ZjAsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ODEsIDB4N2YsCisgICAgICAgIDB4ODEsIDB4ZmUsIDB4ZjEsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ODcsIDB4ZmEsIDB4NzUsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4N2YsIDB4NzAsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ODcsIDB4ZmYsIDB4NGIsIDB4YmYsIDB4N2YsIDB4ZmQsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmUsIDB4ZmYsCisgICAgICAgIDB4M2YsIDB4NzgsIDB4ZjgsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4MGYsIDB4NzEsIDB4ZjEsIDB4ZmYsIDB4N2YsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4MGUsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4N2YsIDB4OGYsCisgICAgICAgIDB4OGYsIDB4MDAsIDB4NzEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmUsIDB4OGYsIDB4MGUsIDB4MDEsIDB4NzEsCisgICAgICAgIDB4YmYsIDB4ZjgsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4N2YsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4MGYsIDB4NzEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MGYsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4MGYsIDB4NzEsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4MGYsIDB4NzEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4OGYsIDB4ZmYsCisgICAgICAgIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4N2YsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2UsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4NzgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4MDcsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4MDcsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4N2YsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4NzgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsCi0gICAgICAgIDB4M2YsIDB4ZmYsIDB4NzgsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZjIsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4OGYsIDB4N2UsCi0gICAgICAgIDB4ZjEsIDB4YmYsIDB4N2YsIDB4ZjEsIDB4OGUsCisgICAgICAgIDB4M2YsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4ZmMsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4OGYsIDB4N2UsCisgICAgICAgIDB4ZjEsIDB4OGYsIDB4N2YsIDB4ZjMsIDB4OGUsCiAgICAgICAgIDB4ZmYsIDB4ODAsIDB4N2YsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ODAsIDB4N2YsIDB4ZjEsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4OGYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ODAsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ODAsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4N2YsIDB4OGYsIDB4N2YsIDB4ODEsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmUsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsCiAgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4MGYsIDB4ZmYsIDB4ODAsCi0gICAgICAgIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGUsCi0gICAgICAgIDB4MGYsIDB4MDEsIDB4NzEsIDB4ZjEsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZGYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZjUsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4ZmYsIDB4ZmMsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MGYsIDB4ZmYsIDB4ODAsCisgICAgICAgIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4OGUsCisgICAgICAgIDB4MGYsIDB4MDEsIDB4NzEsIDB4ZjAsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsCiAgICAgICAgIDB4YmYsIDB4ODcsIDB4ZjgsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4N2YsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ZjAsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4N2YsIDB4N2YsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ZjAsIDB4ZmUsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4OGYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4N2YsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4N2UsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4N2UsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4N2YsCisgICAgICAgIDB4OGYsIDB4ZmUsIDB4ZjAsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4MGUsIDB4OGYsIDB4NzAsIDB4ODAsIDB4ZmYsIDB4ZjAsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MGYsIDB4N2YsIDB4ZjEsIDB4MGYsCisgICAgICAgIDB4N2YsIDB4ZjEsIDB4ZmUsIDB4ZmYsIDB4OWYsCisgICAgICAgIDB4YmYsIDB4MWYsIDB4ZmIsIDB4MGMsIDB4ZmYsIDB4ZjAsIDB4OGYsIDB4ZmYsCisgICAgICAgIDB4MDAsIDB4ZmYsIDB4YjAsIDB4M2YsIDB4NzEsIDB4ODAsIDB4ZmYsIDB4ZjEsCisgICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4N2UsIDB4YzEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4OGYsIDB4MGYsIDB4NzAsIDB4ZjAsCisgICAgICAgIDB4OGYsIDB4N2YsIDB4NzAsIDB4Y2YsIDB4OGYsIDB4ZmYsIDB4NzEsIDB4MGYsCisgICAgICAgIDB4N2UsIDB4ZjEsIDB4OGYsIDB4N2YsIDB4ZjEsCisgICAgICAgIDB4N2YsIDB4ZmYsIDB4N2YsIDB4MGYsIDB4ZmYsIDB4NzgsIDB4OGYsIDB4OGYsCisgICAgICAgIDB4NzAsIDB4NzAsIDB4N2YsIDB4ZmUsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4NzAsCisgICAgICAgIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4YmUsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZjcsIDB4MGIsIDB4ZjcsIDB4ODgsIDB4ZjcsIDB4ZjAsCisgICAgICAgIDB4OGYsIDB4OGYsIDB4NzAsIDB4ZjAsIDB4N2UsIDB4NzMsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4N2UsIDB4ZjAsIDB4ZmYsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4NzgsIDB4NzcsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ZjAsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4NzcsIDB4NzAsIDB4NzcsIDB4N2YsIDB4ZmYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4NzcsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4NzcsIDB4N2YsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4N2YsIDB4ZmYsIDB4YmYsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4NzQsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZmMsCisgICAgICAgIDB4MGYsIDB4ZjMsIDB4OGMsIDB4ZmYsIDB4ZmQsIDB4ZmYsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4N2YsIDB4ZjEsIDB4OGYsIDB4N2QsIDB4ODMsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4NzcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmIsCisgICAgICAgIDB4ZjcsIDB4N2YsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4OGYsIDB4N2UsIDB4ZjEsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4OGEsIDB4OGYsIDB4ZjAsIDB4ODAsIDB4ZmYsIDB4ZjAsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MGYsIDB4NmYsIDB4ZjEsIDB4OGYsCi0gICAgICAgIDB4N2YsIDB4ZjEsIDB4ZmUsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4NTcsIDB4N2YsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4OGYsIDB4ZmYsCi0gICAgICAgIDB4MDAsIDB4ZmYsIDB4ZjAsIDB4NWYsIDB4NmYsIDB4OTcsIDB4N2YsIDB4ZjEsCi0gICAgICAgIDB4OGYsIDB4N2YsIDB4ODEsIDB4N2UsIDB4ZDEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjgsIDB4OGYsIDB4MGYsIDB4NzAsIDB4ZjAsCi0gICAgICAgIDB4OGYsIDB4N2YsIDB4NzAsIDB4ZmYsIDB4OWYsIDB4NzksIDB4ZTEsIDB4OWYsCi0gICAgICAgIDB4N2YsIDB4ZjEsIDB4OGYsIDB4N2YsIDB4ZjEsCi0gICAgICAgIDB4N2YsIDB4YWYsIDB4ZjgsIDB4MGYsIDB4ZmYsIDB4NzgsIDB4OGYsIDB4OGYsCi0gICAgICAgIDB4NzAsIDB4NzAsIDB4NWYsIDB4YWYsIDB4ZjEsIDB4OWUsIDB4N2YsIDB4ZjAsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWUsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZjcsIDB4MGYsIDB4ZjcsIDB4ODgsIDB4ZjcsIDB4ZjAsCi0gICAgICAgIDB4OGYsIDB4OGYsIDB4NzAsIDB4ZjAsIDB4N2UsIDB4ZWYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4N2UsIDB4YzEsIDB4ZmYsIDB4OGYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4MzgsIDB4NzcsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ZjAsCi0gICAgICAgIDB4ZmYsIDB4MGYsIDB4NzcsIDB4NzAsIDB4NmYsIDB4ZWYsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ODcsIDB4NzcsIDB4ODgsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4NzcsIDB4N2YsIDB4ZmYsIDB4OGYsIDB4ZmUsIDB4ZTEsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4N2YsIDB4NzAsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsCi0gICAgICAgIDB4MGYsIDB4ZmQsIDB4ODIsIDB4ZmYsIDB4ZjksIDB4ZmYsIDB4ZmYsIDB4YmYsCi0gICAgICAgIDB4N2YsIDB4ZTEsIDB4YmYsIDB4N2YsIDB4ODEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4NzcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZjcsIDB4N2YsIDB4ZjcsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4YmYsIDB4ZWYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4NzcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4NzgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4MGYsIDB4OGYsIDB4NzAsIDB4NzAsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4Y2YsIDB4OGYsIDB4MWYsIDB4NzEsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ODAsCi0gICAgICAgIDB4ODAsIDB4ODAsIDB4NzAsIDB4NzAsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MWYsIDB4NzEsCi0gICAgICAgIDB4YmYsIDB4N2YsIDB4NzAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4NzAsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZWYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4MDcsIDB4N2YsIDB4NzgsIDB4ZmUsIDB4ZmYsIDB4YWUsIDB4ZmYsCi0gICAgICAgIDB4ZmIsIDB4N2YsIDB4ZmYsIDB4MGYsIDB4ZmYsIDB4ZjAsIDB4ZGYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4NzAsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4MGYsIDB4NzEsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZjcsIDB4N2YsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ODAsCisgICAgICAgIDB4ODAsIDB4ODEsIDB4NzAsIDB4NzAsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4NmYsIDB4OGYsIDB4MGYsIDB4NzEsCisgICAgICAgIDB4YmYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2IsIDB4ZmYsIDB4OWYsIDB4ZmYsIDB4NzAsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmUsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4ODcsIDB4N2YsIDB4NzgsIDB4ZmUsIDB4ZmYsIDB4OWUsIDB4ZmYsCisgICAgICAgIDB4ZjIsIDB4N2YsIDB4ZmYsIDB4MGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4N2YsIDB4N2YsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4OGYsCisgICAgICAgIDB4ZmYsIDB4NzAsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4N2YsIDB4N2YsIDB4ZjcsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4Y2YsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZjcsIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NzcsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ZjAsCi0gICAgICAgIDB4ZGYsIDB4ZmYsIDB4ZjYsIDB4ZmYsIDB4ZWYsIDB4ZWYsIDB4OGYsIDB4MGYsCi0gICAgICAgIDB4NzEsIDB4YjEsIDB4M2UsIDB4ZjksIDB4ZjgsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ZjAsCi0gICAgICAgIDB4ZGYsIDB4ZmYsIDB4ZjYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4YmYsIDB4MGYsCi0gICAgICAgIDB4N2QsIDB4ZjEsIDB4OWUsIDB4ZmUsIDB4ZTksCi0gICAgICAgIDB4ZmYsIDB4ZGYsIDB4N2IsIDB4NzIsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4ZmEsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZmEsIDB4OGYsIDB4N2YsCi0gICAgICAgIDB4ZjEsIDB4YmYsIDB4N2YsIDB4ZjksIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmMsIDB4ZmIsIDB4ZmYsIDB4YmYsIDB4Y2YsIDB4ZmYsIDB4ZTEsCi0gICAgICAgIDB4YWYsIDB4ZGYsIDB4ZmEsIDB4ZjYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmYsCi0gICAgICAgIDB4N2YsIDB4ZmQsIDB4YmUsIDB4YjcsIDB4ZjUsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsCi0gICAgICAgIDB4ZjEsIDB4N2YsIDB4ZmIsIDB4OWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4OGIsIDB4OGYsIDB4ZjAsIDB4ZjAsIDB4ZmYsIDB4Y2YsCi0gICAgICAgIDB4N2YsIDB4OGYsIDB4ZmYsIDB4ZjgsIDB4OGYsIDB4MGYsIDB4NzEsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4NGYsIDB4N2IsIDB4OTUsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGUsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZmEsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjEsIDB4ZmYsCi0gICAgICAgIDB4ZmUsIDB4ZmYsIDB4YmYsIDB4ZmYsIDB4YmQsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4N2YsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ZjAsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmQsIDB4YWYsIDB4MGYsCisgICAgICAgIDB4NzAsIDB4ZDEsIDB4ZmYsIDB4ZjgsIDB4ZmUsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4YWYsIDB4OGYsIDB4ZmEsIDB4ZjAsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4OGYsIDB4MGYsCisgICAgICAgIDB4NzksIDB4ZTEsIDB4ZmYsIDB4ZmUsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4N2EsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZWYsCisgICAgICAgIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4ZmIsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4ZjEsIDB4ZGYsIDB4ZmYsIDB4ZjksIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4YmEsCisgICAgICAgIDB4YWYsIDB4ZmYsIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZGYsCisgICAgICAgIDB4ZmYsIDB4ZmQsIDB4YmUsIDB4ZjcsIDB4ZjUsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4ZjcsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4M2YsCisgICAgICAgIDB4MTEsIDB4ZWIsIDB4ZGIsIDB4Y2YsIDB4N2YsCisgICAgICAgIDB4YmYsIDB4ZjAsIDB4OGYsIDB4ODcsIDB4ZjAsIDB4ZjAsIDB4ZmYsIDB4YmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjEsIDB4OGYsIDB4MGYsIDB4MzEsIDB4ZjEsCisgICAgICAgIDB4OWYsIDB4ZGYsIDB4ZjksIDB4ODUsIDB4N2YsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZWUsIDB4ZmYsIDB4ZmIsIDB4ZjcsIDB4OGYsIDB4N2YsIDB4YjEsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmQsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4OGYsIDB4ZjAsIDB4ODAsIDB4ZmYsCi0gICAgICAgIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MGYsIDB4NzEsCi0gICAgICAgIDB4ODEsIDB4N2YsIDB4ZjEsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ODcsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZWYsCi0gICAgICAgIDB4YmYsIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjEsCi0gICAgICAgIDB4YmYsIDB4N2YsIDB4OTksIDB4ZDcsIDB4ZmQsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4NzcsIDB4YmYsCi0gICAgICAgIDB4ZmYsIDB4Y2UsIDB4ZmYsIDB4ODgsIDB4ZmYsIDB4ZjAsIDB4ZWYsIDB4ZWYsCi0gICAgICAgIDB4ZmEsIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ODYsIDB4N2YsIDB4ZDEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4YjcsIDB4ZmYsCisgICAgICAgIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MmYsIDB4NzEsCisgICAgICAgIDB4YzEsIDB4N2YsIDB4ZjEsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4YmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZDEsCisgICAgICAgIDB4OWYsIDB4ZmYsIDB4N2IsIDB4YjcsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmUsIDB4OGYsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4YjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4YTQsIDB4ZjcsIDB4ODgsIDB4ZmYsIDB4ZjAsIDB4YWYsIDB4YmYsCisgICAgICAgIDB4ZmIsIDB4ZWYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4OGYsIDB4N2YsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZGQsIDB4ZjcsIDB4OTcsIDB4N2YsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4OGYsIDB4N2UsCi0gICAgICAgIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsCi0gICAgICAgIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZjcsIDB4Y2YsIDB4OGYsIDB4YTgsIDB4ZjAsCi0gICAgICAgIDB4ZmEsIDB4ZmYsIDB4ZmYsIDB4YjcsIDB4ZjcsIDB4ZjcsIDB4OGYsIDB4OGYsCi0gICAgICAgIDB4NzEsIDB4ZjEsIDB4ZjcsIDB4NzcsIDB4ZWYsCi0gICAgICAgIDB4ZmYsIDB4ZjAsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4NmYsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZjAsIDB4ZWYsIDB4ZmYsIDB4Y2YsIDB4ZmYsIDB4ZjgsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4OWYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4OGYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZTcsIDB4YWYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4YmYsIDB4OWYsIDB4OWYsIDB4N2YsIDB4ZjksCi0gICAgICAgIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4N2YsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZjcsIDB4Y2YsIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4N2YsCi0gICAgICAgIDB4OWYsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZTEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OWYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmUsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZjcsIDB4YmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OWYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4OGYsIDB4ZWYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4YWYsIDB4MGYsIDB4YTAsIDB4ZjAsCisgICAgICAgIDB4ZmIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4MGYsCisgICAgICAgIDB4NzEsIDB4YjEsIDB4MzcsIDB4ZjcsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4YjgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4N2YsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4MGYsIDB4ZmUsIDB4ZjAsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4Y2YsIDB4OGYsIDB4N2YsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4ZjgsIDB4ZjcsIDB4ZmYsIDB4YTcsIDB4ZmYsIDB4ZjAsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmUsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4OGYsCisgICAgICAgIDB4N2YsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4Y2YsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4OWYsIDB4ZjcsIDB4ZjMsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4N2YsIDB4ZjksCisgICAgICAgIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZGYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4YmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YWYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4OWYsIDB4ZmUsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4N2YsIDB4ZjEsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZjEsCisgICAgICAgIDB4YmYsIDB4ZmYsIDB4ZjAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjAsIDB4YmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4N2YsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmYsCisgICAgICAgIDB4ZmYsIDB4ZjgsIDB4ZmYsIDB4ZmYsIDB4ZGYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4Y2YsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZDgsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4OGYsIDB4ZWYsIDB4ZTAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4M2YsCisgICAgICAgIDB4ZmYsIDB4ZGYsIDB4ZjcsIDB4ZmYsIDB4MGYsIDB4ZmUsIDB4ZjAsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4ZGYsIDB4OGUsIDB4N2YsCiAgICAgICAgIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZjcsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZWYsIDB4N2YsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmUsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4YmYsIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCiAgICAgICAgIDB4ZmYsIDB4ZmYsIDB4OGYsIDB4ZmYsIDB4ZjEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4YmYsIDB4N2YsIDB4ZjEsIDB4ZmYsCi0gICAgICAgIDB4YmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4YmYsIDB4N2YsIDB4ZTEsIDB4ZmYsCisgICAgICAgIDB4ZGYsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4YmYsCiAgICAgICAgIDB4ZmYsIDB4YTcsIDB4ZmYsIDB4ODgsIDB4ZmYsIDB4ZjEsIDB4ZmUsIDB4ZmYsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MWYsIDB4ZmYsIDB4ZjAsIDB4Y2YsIDB4ZjEsCi0gICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4YmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MWYsIDB4ZmYsIDB4ZjAsIDB4Y2YsIDB4YjEsCisgICAgICAgIDB4ZmYsIDB4ZWYsIDB4ZmYsIDB4N2YsIDB4ZmYsCmRpZmYgLS1naXQgYS9ib2FyZC9zaXhuZXQvc2l4bmV0LmMgYi9ib2FyZC9zaXhuZXQvc2l4bmV0LmMKaW5kZXggMTU3MGM0Ni4uZWMxY2I4YiAxMDA2NDQKLS0tIGEvYm9hcmQvc2l4bmV0L3NpeG5ldC5jCisrKyBiL2JvYXJkL3NpeG5ldC9zaXhuZXQuYwpAQCAtMzIsNiArMzIsMTEgQEAKICMgaW5jbHVkZSA8c3RhdHVzX2xlZC5oPgogI2VuZGlmCiAKKyNpZiAoQ09ORklHX0NPTU1BTkRTICYgQ0ZHX0NNRF9OQU5EKQorI2luY2x1ZGUgPGxpbnV4L210ZC9uYW5kLmg+CitleHRlcm4gc3RydWN0IG5hbmRfY2hpcCBuYW5kX2Rldl9kZXNjW0NGR19NQVhfTkFORF9ERVZJQ0VdOworI2VuZGlmCisKICNkZWZpbmUgT1JNQVNLKHNpemUpICgoLXNpemUpICYgT1JfQU1fTVNLKQogCiBzdGF0aWMgbG9uZyByYW1fc2l6ZSh1bG9uZyAqLCBsb25nKTsKQEAgLTMyMSw2ICszMjYsMTcgQEAKIAlyZXR1cm4gKDApOwogfQogCisjaWYgKENPTkZJR19DT01NQU5EUyAmIENGR19DTURfTkFORCkKK3ZvaWQgbmFuZF9pbml0KHZvaWQpCit7CisJbmFuZF9wcm9iZShDRkdfREZMQVNIX0JBU0UpOwkvKiBzZWUgaWYgYW55IE5BTkQgZmxhc2ggcHJlc2VudCAqLworCWlmIChuYW5kX2Rldl9kZXNjWzBdLkNoaXBJRCAhPSBOQU5EX0NoaXBJRF9VTktOT1dOKSB7CisJCXB1dHMoIk5BTkQ6ICAiKTsKKwkJcHJpbnRfc2l6ZShuYW5kX2Rldl9kZXNjWzBdLnRvdGxlbiwgIlxuIik7CisJfQorfQorI2VuZGlmCisKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIAogLyoKZGlmZiAtLWdpdCBhL2JvYXJkL3V0eDgyNDUvZmxhc2guYyBiL2JvYXJkL3V0eDgyNDUvZmxhc2guYwppbmRleCA3M2JiMDRkLi4zMjcxODI3IDEwMDY0NAotLS0gYS9ib2FyZC91dHg4MjQ1L2ZsYXNoLmMKKysrIGIvYm9hcmQvdXR4ODI0NS9mbGFzaC5jCkBAIC00NSwyNSArNDUsMTkgQEAKICMgZW5kaWYKICNlbmRpZgogCi0jZGVmaW5lCUZMQVNIX0JBTktfU0laRQkweDIwMDAwMAorI2RlZmluZQlGTEFTSF9CQU5LX1NJWkUJKCh1aW50KSgxNiAqIDEwMjQgKiAxMDI0KSkJLyogbWF4IDE2TWJ5dGUgKi8KICNkZWZpbmUJTUFJTl9TRUNUX1NJWkUgCTB4MTAwMDAKICNkZWZpbmUJU0VDVF9TSVpFXzMyS0IJMHg4MDAwCiAjZGVmaW5lCVNFQ1RfU0laRV84S0IJMHgyMDAwCiAKLWZsYXNoX2luZm9fdCAgICBmbGFzaF9pbmZvW0NGR19NQVhfRkxBU0hfQkFOS1NdOworZmxhc2hfaW5mb190IGZsYXNoX2luZm9bQ0ZHX01BWF9GTEFTSF9CQU5LU107CiAKLXN0YXRpYyBpbnQgd3JpdGVfd29yZCAoZmxhc2hfaW5mb190ICppbmZvLCB1bG9uZyBkZXN0LCB1bG9uZyBkYXRhKTsKLQotc3RhdGljIF9faW5saW5lX18gdW5zaWduZWQgbG9uZyBnZXRfbXNyKHZvaWQpCi17CXVuc2lnbmVkIGxvbmcgbXNyOwotCV9fYXNtX18gX192b2xhdGlsZV9fICgibWZtc3IgJTAiIDogIj1yIiAobXNyKSA6KTsKLSAgICByZXR1cm4gbXNyOwotfQotCi1zdGF0aWMgX19pbmxpbmVfXyB2b2lkIHNldF9tc3IodW5zaWduZWQgbG9uZyBtc3IpCi17Ci0gICAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCJtdG1zciAlMCIgOiA6ICJyIiAobXNyKSk7Ci19CitzdGF0aWMgaW50IHdyaXRlX3dvcmQgKGZsYXNoX2luZm9fdCAqIGluZm8sIHVsb25nIGRlc3QsIHVsb25nIGRhdGEpOworI2lmIDAKK3N0YXRpYyB2b2lkIHdyaXRlX3ZpYV9mcHUgKHZ1X2xvbmcgKiBhZGRyLCB1bG9uZyAqIGRhdGEpOworI2VuZGlmCitzdGF0aWMgX19pbmxpbmVfXyB1bnNpZ25lZCBsb25nIGdldF9tc3IgKHZvaWQpOworc3RhdGljIF9faW5saW5lX18gdm9pZCBzZXRfbXNyICh1bnNpZ25lZCBsb25nIG1zcik7CiAKIC8qZmxhc2ggY29tbWFuZCBhZGRyZXNzIG9mZnNldHMqLwogI2RlZmluZSBBRERSMAkJKDB4NTU1KQpAQCAtNzcsMjg1ICs3MSwzMzYgQEAKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCi11bnNpZ25lZCBsb25nIGZsYXNoX2luaXQodm9pZCkKK3Vuc2lnbmVkIGxvbmcgZmxhc2hfaW5pdCAodm9pZCkKIHsKLSAgICBpbnQgaSwgajsKLSAgICB1bG9uZyBzaXplID0gMDsKKwlpbnQgaTsJCS8qIGZsYXNoIGJhbmsgY291bnRlciAqLworCWludCBqOwkJLyogZmxhc2ggZGV2aWNlIHNlY3RvciBjb3VudGVyICovCisJaW50IGs7CQkvKiBmbGFzaCBzaXplIGNhbGN1bGF0aW9uIGxvb3AgY291bnRlciAqLworCWludCBOOwkJLyogcG93KDIsTikgaXMgZmxhc2ggc2l6ZSwgYnV0IHdlIGRvbid0IGhhdmUgPG1hdGguaD4gKi8KKwl1bG9uZyB0b3RhbF9zaXplID0gMCwgZGV2aWNlX3NpemUgPSAxOwogCXVuc2lnbmVkIGNoYXIgbWFudWZfaWQsIGRldmljZV9pZDsKIAotICAgIGZvciAoaSA9IDA7IGkgPCBDRkdfTUFYX0ZMQVNIX0JBTktTOyBpKyspCi0JewotICAgIAl2dV9jaGFyICphZGRyID0gKHZ1X2NoYXIgKikoQ0ZHX0ZMQVNIX0JBU0UgKyBpICogRkxBU0hfQkFOS19TSVpFKTsKKwlmb3IgKGkgPSAwOyBpIDwgQ0ZHX01BWF9GTEFTSF9CQU5LUzsgaSsrKSB7CisJCXZ1X2NoYXIgKmFkZHIgPSAodnVfY2hhciAqKSAoQ0ZHX0ZMQVNIX0JBU0UgKyBpICogRkxBU0hfQkFOS19TSVpFKTsKIAotCWFkZHJbMHg1NTVdID0gMHhBQTsJCQkvKiAzIGN5Y2xlcyB0byByZWFkIGRldmljZSBpbmZvLiAgU2VlICovCi0JYWRkclsweDJBQV0gPSAweDU1OwkJCS8qIEFNMjlMVjExNkQgZGF0YXNoZWV0IGZvciBsaXN0IG9mICovCi0JYWRkclsweDU1NV0gPSAweDkwOwkJCS8qIGF2YWlsYWJsZSBjb21tYW5kcy4gKi8KKwkJYWRkclsweDU1NV0gPSAweEFBOwkJLyogZ2V0IG1hbnVmL2RldmljZSBpbmZvIGNvbW1hbmQgKi8KKwkJYWRkclsweDJBQV0gPSAweDU1OwkJLyogMy1jeWNsZSBjb21tYW5kICovCisJCWFkZHJbMHg1NTVdID0gMHg5MDsKIAotCW1hbnVmX2lkID0gYWRkclswXTsKLQlkZXZpY2VfaWQgPSBhZGRyWzFdOworCQltYW51Zl9pZCA9IGFkZHJbMF07CQkvKiByZWFkIGJhY2sgbWFudWYvZGV2aWNlIGluZm8gKi8KKwkJZGV2aWNlX2lkID0gYWRkclsxXTsKKworCQlhZGRyWzB4NTVdID0gMHg5ODsJCS8qIENGSSBjb21tYW5kICovCisJCU4gPSBhZGRyWzB4MjddOwkJCS8qIHJlYWQgYmFjayBkZXZpY2Vfc2l6ZSA9IHBvdygyLE4pICovCisKKwkJZm9yIChrID0gMDsgayA8IE47IGsrKykJLyogY2FsY3VsYXRlIGRldmljZV9zaXplID0gcG93KDIsTikgKi8KKwkJCWRldmljZV9zaXplICo9IDI7CisKKwkJZmxhc2hfaW5mb1tpXS5zaXplID0gZGV2aWNlX3NpemU7CisJCWZsYXNoX2luZm9baV0uc2VjdG9yX2NvdW50ID0gQ0ZHX01BWF9GTEFTSF9TRUNUOwogCiAjaWYgZGVmaW5lZCBERUJVR19GTEFTSAotCXByaW50ZigibWFudWZfaWQgPSAleCwgZGV2aWNlX2lkID0gJXhcbiIsIG1hbnVmX2lkLCBkZXZpY2VfaWQpOworCQlwcmludGYgKCJtYW51Zl9pZCA9ICV4LCBkZXZpY2VfaWQgPSAleFxuIiwgbWFudWZfaWQsIGRldmljZV9pZCk7CiAjZW5kaWYKKwkJLyogZmluZCBvdXQgd2hhdCBraW5kIG9mIGZsYXNoIHdlIGFyZSB1c2luZyAqLworCQlpZiAoKG1hbnVmX2lkID09ICh1Y2hhcikgKEFNRF9NQU5VRkFDVCkpCisJCQkmJiAoZGV2aWNlX2lkID09IEFNRF9JRF9MVjAzM0MpKSB7CisJCQlmbGFzaF9pbmZvW2ldLmZsYXNoX2lkID0KKwkJCQkJKChGTEFTSF9NQU5fQU1EICYgRkxBU0hfVkVORE1BU0spIDw8IDE2KSB8CisJCQkJCShGTEFTSF9BTTAzM0MgJiBGTEFTSF9UWVBFTUFTSyk7CiAKLQkJaWYgKCAgKG1hbnVmX2lkID09ICh1Y2hhcikoQU1EX01BTlVGQUNUKSkgJiYKLQkgICAgCSggZGV2aWNlX2lkID09IEFNRF9JRF9MVjExNkRUKSkKLQkJewotCSAgICAJZmxhc2hfaW5mb1tpXS5mbGFzaF9pZCA9ICgoRkxBU0hfTUFOX0FNRCAmIEZMQVNIX1ZFTkRNQVNLKSA8PCAxNikgfAotCSAgICAJCQkgICAgIChBTURfSURfTFYxMTZEVCAmIEZMQVNIX1RZUEVNQVNLKTsKLQkJfSBlbHNlIHsKLQkgICAgCWZsYXNoX2luZm9baV0uZmxhc2hfaWQgPSBGTEFTSF9VTktOT1dOOwotCSAgICAJYWRkclswXSA9IChsb25nKTB4RkZGRkZGRkY7Ci0JICAgIAlnb3RvIERvbmU7CisJCQkvKiBzZXQgaW5kaXZpZHVhbCBzZWN0b3Igc3RhcnQgYWRkcmVzc2VzICovCisJCQlmb3IgKGogPSAwOyBqIDwgZmxhc2hfaW5mb1tpXS5zZWN0b3JfY291bnQ7IGorKykgeworCQkJCWZsYXNoX2luZm9baV0uc3RhcnRbal0gPQorCQkJCQkJKENGR19GTEFTSF9CQVNFICsgaSAqIEZMQVNIX0JBTktfU0laRSArCisJCQkJCQkgaiAqIE1BSU5fU0VDVF9TSVpFKTsKKwkJCX0KKwkJfQorCisJCWVsc2UgaWYgKChtYW51Zl9pZCA9PSAodWNoYXIpIChBTURfTUFOVUZBQ1QpKSAmJgorCQkJCSAoZGV2aWNlX2lkID09IEFNRF9JRF9MVjExNkRUKSkgeworCQkJZmxhc2hfaW5mb1tpXS5mbGFzaF9pZCA9CisJCQkJCSgoRkxBU0hfTUFOX0FNRCAmIEZMQVNIX1ZFTkRNQVNLKSA8PCAxNikgfAorCQkJCQkoRkxBU0hfQU0xNjBUICYgRkxBU0hfVFlQRU1BU0spOworCisJCQkvKiBzZXQgaW5kaXZpZHVhbCBzZWN0b3Igc3RhcnQgYWRkcmVzc2VzICovCisJCQlmb3IgKGogPSAwOyBqIDwgZmxhc2hfaW5mb1tpXS5zZWN0b3JfY291bnQ7IGorKykgeworCQkJCWZsYXNoX2luZm9baV0uc3RhcnRbal0gPQorCQkJCQkJKENGR19GTEFTSF9CQVNFICsgaSAqIEZMQVNIX0JBTktfU0laRSArCisJCQkJCQkgaiAqIE1BSU5fU0VDVF9TSVpFKTsKKworCQkJCWlmIChqIDwgKENGR19NQVhfRkxBU0hfU0VDVCAtIDMpKSB7CisJCQkJCWZsYXNoX2luZm9baV0uc3RhcnRbal0gPQorCQkJCQkJCShDRkdfRkxBU0hfQkFTRSArIGkgKiBGTEFTSF9CQU5LX1NJWkUgKworCQkJCQkJCSBqICogTUFJTl9TRUNUX1NJWkUpOworCQkJCX0gZWxzZSBpZiAoaiA9PSAoQ0ZHX01BWF9GTEFTSF9TRUNUIC0gMykpIHsKKwkJCQkJZmxhc2hfaW5mb1tpXS5zdGFydFtqXSA9CisJCQkJCQkJKGZsYXNoX2luZm9baV0uc3RhcnRbaiAtIDFdICsgU0VDVF9TSVpFXzMyS0IpOworCisJCQkJfSBlbHNlIHsKKwkJCQkJZmxhc2hfaW5mb1tpXS5zdGFydFtqXSA9CisJCQkJCQkJKGZsYXNoX2luZm9baV0uc3RhcnRbaiAtIDFdICsgU0VDVF9TSVpFXzhLQik7CisJCQkJfQorCQkJfQorCQl9CisKKwkJZWxzZSB7CisJCQlmbGFzaF9pbmZvW2ldLmZsYXNoX2lkID0gRkxBU0hfVU5LTk9XTjsKKwkJCWFkZHJbMF0gPSAweEZGOworCQkJZ290byBEb25lOwogCQl9CiAKICNpZiBkZWZpbmVkIERFQlVHX0ZMQVNICiAJCXByaW50ZiAoImZsYXNoX2lkID0gMHglMDhsWFxuIiwgZmxhc2hfaW5mb1tpXS5mbGFzaF9pZCk7CiAjZW5kaWYKIAotCQlhZGRyWzBdID0gKGxvbmcpMHhGRkZGRkZGRjsKKwkJYWRkclswXSA9IDB4RkY7CiAKLQkJZmxhc2hfaW5mb1tpXS5zaXplID0gRkxBU0hfQkFOS19TSVpFOwotCQlmbGFzaF9pbmZvW2ldLnNlY3Rvcl9jb3VudCA9IENGR19NQVhfRkxBU0hfU0VDVDsKLQkJbWVtc2V0KGZsYXNoX2luZm9baV0ucHJvdGVjdCwgMCwgQ0ZHX01BWF9GTEFTSF9TRUNUKTsKKwkJbWVtc2V0IChmbGFzaF9pbmZvW2ldLnByb3RlY3QsIDAsIENGR19NQVhfRkxBU0hfU0VDVCk7CiAKLQkJZm9yIChqID0gMDsgaiA8IGZsYXNoX2luZm9baV0uc2VjdG9yX2NvdW50OyBqKyspCi0JCXsKKwkJdG90YWxfc2l6ZSArPSBmbGFzaF9pbmZvW2ldLnNpemU7CisJfQogCi0JCQlpZiAoaiA8IChDRkdfTUFYX0ZMQVNIX1NFQ1QgLSAzKSApCi0KLQkJCQlmbGFzaF9pbmZvW2ldLnN0YXJ0W2pdID0gQ0ZHX0ZMQVNIX0JBU0UgKyBpICogRkxBU0hfQkFOS19TSVpFICsKLQkJCSAgICAgICAgICAgICAgICAgICAgICAgCQkJaiAqIE1BSU5fU0VDVF9TSVpFOwotCi0JCQllbHNlIGlmIChqID09IChDRkdfTUFYX0ZMQVNIX1NFQ1QgLSAzKSApCi0KLQkJCQlmbGFzaF9pbmZvW2ldLnN0YXJ0W2pdID0gIGZsYXNoX2luZm9baV0uc3RhcnRbai0xXSArIFNFQ1RfU0laRV8zMktCOwotCi0KLQkJCWVsc2UKLQotCQkJCWZsYXNoX2luZm9baV0uc3RhcnRbal0gPSAgZmxhc2hfaW5mb1tpXS5zdGFydFtqLTFdICsgU0VDVF9TSVpFXzhLQjsKLQotCQl9Ci0KLQlzaXplICs9IGZsYXNoX2luZm9baV0uc2l6ZTsKLSAgICB9Ci0KLSAgICAvKiBQcm90ZWN0IG1vbml0b3IgYW5kIGVudmlyb25tZW50IHNlY3RvcnMKLSAgICAgKi8KKwkvKiBQcm90ZWN0IG1vbml0b3IgYW5kIGVudmlyb25tZW50IHNlY3RvcnMKKwkgKi8KICNpZiBDRkdfTU9OSVRPUl9CQVNFID49IENGR19GTEFTSF9CQVNFCi0gICAgIGZsYXNoX3Byb3RlY3QoRkxBR19QUk9URUNUX1NFVCwgQ0ZHX01PTklUT1JfQkFTRSwKLSAgICAgICAgICAgICAgQ0ZHX01PTklUT1JfQkFTRSArIG1vbml0b3JfZmxhc2hfbGVuIC0gMSwgJmZsYXNoX2luZm9bMF0pOworCWZsYXNoX3Byb3RlY3QgKEZMQUdfUFJPVEVDVF9TRVQsIENGR19NT05JVE9SX0JBU0UsCisJCQkJICAgQ0ZHX01PTklUT1JfQkFTRSArIG1vbml0b3JfZmxhc2hfbGVuIC0gMSwKKwkJCQkgICAmZmxhc2hfaW5mb1swXSk7CiAjZW5kaWYKIAogI2lmIChDRkdfRU5WX0lTX0lOX0ZMQVNIID09IDEpICYmIGRlZmluZWQoQ0ZHX0VOVl9BRERSKQotICAgIGZsYXNoX3Byb3RlY3QoRkxBR19QUk9URUNUX1NFVCwgQ0ZHX0VOVl9BRERSLAotCQkJCQlDRkdfRU5WX0FERFIgKyBDRkdfRU5WX1NJWkUgLSAxLCAmZmxhc2hfaW5mb1swXSk7CisJZmxhc2hfcHJvdGVjdCAoRkxBR19QUk9URUNUX1NFVCwgQ0ZHX0VOVl9BRERSLAorCQkJQ0ZHX0VOVl9BRERSICsgQ0ZHX0VOVl9TSVpFIC0gMSwgJmZsYXNoX2luZm9bMF0pOwogI2VuZGlmCiAKLURvbmU6Ci0gICAgcmV0dXJuIHNpemU7CisgIERvbmU6CisJcmV0dXJuIHRvdGFsX3NpemU7CiB9CiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwotdm9pZCBmbGFzaF9wcmludF9pbmZvKGZsYXNoX2luZm9fdCAqaW5mbykKK3ZvaWQgZmxhc2hfcHJpbnRfaW5mbyAoZmxhc2hfaW5mb190ICogaW5mbykKIHsKLSAgc3RhdGljIGNvbnN0IGNoYXIgdW5rW10gPSAiVW5rbm93biI7Ci0gIGNvbnN0IGNoYXIgKm1mY3QgPSB1bmssICp0eXBlID0gdW5rOwotICB1bnNpZ25lZCBpbnQgaTsKKwlzdGF0aWMgY29uc3QgY2hhciB1bmtbXSA9ICJVbmtub3duIjsKKwljb25zdCBjaGFyICptZmN0ID0gdW5rLCAqdHlwZSA9IHVuazsKKwl1bnNpZ25lZCBpbnQgaTsKIAotICBpZihpbmZvLT5mbGFzaF9pZCAhPSBGTEFTSF9VTktOT1dOKQotICB7Ci0gICAgc3dpdGNoKGluZm8tPmZsYXNoX2lkICYgRkxBU0hfVkVORE1BU0spCi0gICAgewotICAgICAgY2FzZSBGTEFTSF9NQU5fQU1EOgltZmN0ID0gIkFNRCI7CQkJCWJyZWFrOwotICAgICAgY2FzZSBGTEFTSF9NQU5fRlVKOgltZmN0ID0gIkZVSklUU1UiOwkJCWJyZWFrOwotICAgICAgY2FzZSBGTEFTSF9NQU5fU1RNOgltZmN0ID0gIlNUTSI7CQkJCWJyZWFrOwotICAgICAgY2FzZSBGTEFTSF9NQU5fU1NUOgltZmN0ID0gIlNTVCI7CQkJCWJyZWFrOwotICAgICAgY2FzZSBGTEFTSF9NQU5fQk06CW1mY3QgPSAiQnJpZ2h0IE1pY3JvZWxlY3RvbmljcyI7CWJyZWFrOwotICAgICAgY2FzZSBGTEFTSF9NQU5fSU5URUw6CW1mY3QgPSAiSW50ZWwiOwkJCQlicmVhazsKLSAgICB9CisJaWYgKGluZm8tPmZsYXNoX2lkICE9IEZMQVNIX1VOS05PV04pIHsKKwkJc3dpdGNoIChpbmZvLT5mbGFzaF9pZCAmIEZMQVNIX1ZFTkRNQVNLKSB7CisJCWNhc2UgRkxBU0hfTUFOX0FNRDoKKwkJCW1mY3QgPSAiQU1EIjsKKwkJCWJyZWFrOworCQljYXNlIEZMQVNIX01BTl9GVUo6CisJCQltZmN0ID0gIkZVSklUU1UiOworCQkJYnJlYWs7CisJCWNhc2UgRkxBU0hfTUFOX1NUTToKKwkJCW1mY3QgPSAiU1RNIjsKKwkJCWJyZWFrOworCQljYXNlIEZMQVNIX01BTl9TU1Q6CisJCQltZmN0ID0gIlNTVCI7CisJCQlicmVhazsKKwkJY2FzZSBGTEFTSF9NQU5fQk06CisJCQltZmN0ID0gIkJyaWdodCBNaWNyb2VsZWN0b25pY3MiOworCQkJYnJlYWs7CisJCWNhc2UgRkxBU0hfTUFOX0lOVEVMOgorCQkJbWZjdCA9ICJJbnRlbCI7CisJCQlicmVhazsKKwkJfQogCi0gICAgc3dpdGNoKGluZm8tPmZsYXNoX2lkICYgRkxBU0hfVFlQRU1BU0spCi0gICAgewotICAgICAgY2FzZSBGTEFTSF9BTTA0MDoJCXR5cGUgPSAiQU0yOUYwNDBCICg1MTJLICogOCwgdW5pZm9ybSBzZWN0b3Igc2l6ZSkiOwlicmVhazsKLSAgICAgIGNhc2UgRkxBU0hfQU00MDBCOgl0eXBlID0gIkFNMjlMVjQwMEIgKDQgTWJpdCwgYm90dG9tIGJvb3Qgc2VjdCkiOwkJYnJlYWs7Ci0gICAgICBjYXNlIEZMQVNIX0FNNDAwVDoJdHlwZSA9ICJBTTI5TFY0MDBUICg0IE1iaXQsIHRvcCBib290IHNlY3RvcikiOwkJYnJlYWs7Ci0gICAgICBjYXNlIEZMQVNIX0FNODAwQjoJdHlwZSA9ICJBTTI5TFY4MDBCICg4IE1iaXQsIGJvdHRvbSBib290IHNlY3QpIjsJCWJyZWFrOwotICAgICAgY2FzZSBGTEFTSF9BTTgwMFQ6CXR5cGUgPSAiQU0yOUxWODAwVCAoOCBNYml0LCB0b3AgYm9vdCBzZWN0b3IpIjsJCWJyZWFrOwotICAgICAgY2FzZSBGTEFTSF9BTTE2MFQ6CXR5cGUgPSAiQU0yOUxWMTYwVCAoMTYgTWJpdCwgdG9wIGJvb3Qgc2VjdG9yKSI7CQlicmVhazsKLSAgICAgIGNhc2UgRkxBU0hfQU0zMjBCOgl0eXBlID0gIkFNMjlMVjMyMEIgKDMyIE1iaXQsIGJvdHRvbSBib290IHNlY3QpIjsJYnJlYWs7Ci0gICAgICBjYXNlIEZMQVNIX0FNMzIwVDoJdHlwZSA9ICJBTTI5TFYzMjBUICgzMiBNYml0LCB0b3AgYm9vdCBzZWN0b3IpIjsJCWJyZWFrOwotICAgICAgY2FzZSBGTEFTSF9TVE04MDBBQjoJdHlwZSA9ICJNMjlXODAwQUIgKDggTWJpdCwgYm90dG9tIGJvb3Qgc2VjdCkiOwkJYnJlYWs7Ci0gICAgICBjYXNlIEZMQVNIX1NTVDgwMEE6CXR5cGUgPSAiU1NUMzlMRi9WRjgwMCAoOCBNYml0LCB1bmlmb3JtIHNlY3RvciBzaXplKSI7CWJyZWFrOwotICAgICAgY2FzZSBGTEFTSF9TU1QxNjBBOgl0eXBlID0gIlNTVDM5TEYvVkYxNjAgKDE2IE1iaXQsIHVuaWZvcm0gc2VjdG9yIHNpemUpIjsJYnJlYWs7Ci0gICAgfQotICB9CisJCXN3aXRjaCAoaW5mby0+Zmxhc2hfaWQgJiBGTEFTSF9UWVBFTUFTSykgeworCQljYXNlIEZMQVNIX0FNMDMzQzoKKwkJCXR5cGUgPSAiQU0yOUxWMDMzQyAoMzIgTWJpdCwgdW5pZm9ybSBzZWN0b3Igc2l6ZSkiOworCQkJYnJlYWs7CisJCWNhc2UgRkxBU0hfQU0xNjBUOgorCQkJdHlwZSA9ICJBTTI5TFYxNjBUICgxNiBNYml0LCB0b3AgYm9vdCBzZWN0b3IpIjsKKwkJCWJyZWFrOworCQljYXNlIEZMQVNIX0FNMDQwOgorCQkJdHlwZSA9ICJBTTI5RjA0MEIgKDUxMksgKiA4LCB1bmlmb3JtIHNlY3RvciBzaXplKSI7CisJCQlicmVhazsKKwkJY2FzZSBGTEFTSF9BTTQwMEI6CisJCQl0eXBlID0gIkFNMjlMVjQwMEIgKDQgTWJpdCwgYm90dG9tIGJvb3Qgc2VjdCkiOworCQkJYnJlYWs7CisJCWNhc2UgRkxBU0hfQU00MDBUOgorCQkJdHlwZSA9ICJBTTI5TFY0MDBUICg0IE1iaXQsIHRvcCBib290IHNlY3RvcikiOworCQkJYnJlYWs7CisJCWNhc2UgRkxBU0hfQU04MDBCOgorCQkJdHlwZSA9ICJBTTI5TFY4MDBCICg4IE1iaXQsIGJvdHRvbSBib290IHNlY3QpIjsKKwkJCWJyZWFrOworCQljYXNlIEZMQVNIX0FNODAwVDoKKwkJCXR5cGUgPSAiQU0yOUxWODAwVCAoOCBNYml0LCB0b3AgYm9vdCBzZWN0b3IpIjsKKwkJCWJyZWFrOworCQljYXNlIEZMQVNIX0FNMzIwQjoKKwkJCXR5cGUgPSAiQU0yOUxWMzIwQiAoMzIgTWJpdCwgYm90dG9tIGJvb3Qgc2VjdCkiOworCQkJYnJlYWs7CisJCWNhc2UgRkxBU0hfQU0zMjBUOgorCQkJdHlwZSA9ICJBTTI5TFYzMjBUICgzMiBNYml0LCB0b3AgYm9vdCBzZWN0b3IpIjsKKwkJCWJyZWFrOworCQljYXNlIEZMQVNIX1NUTTgwMEFCOgorCQkJdHlwZSA9ICJNMjlXODAwQUIgKDggTWJpdCwgYm90dG9tIGJvb3Qgc2VjdCkiOworCQkJYnJlYWs7CisJCWNhc2UgRkxBU0hfU1NUODAwQToKKwkJCXR5cGUgPSAiU1NUMzlMRi9WRjgwMCAoOCBNYml0LCB1bmlmb3JtIHNlY3RvciBzaXplKSI7CisJCQlicmVhazsKKwkJY2FzZSBGTEFTSF9TU1QxNjBBOgorCQkJdHlwZSA9ICJTU1QzOUxGL1ZGMTYwICgxNiBNYml0LCB1bmlmb3JtIHNlY3RvciBzaXplKSI7CisJCQlicmVhazsKKwkJfQorCX0KIAotICBwcmludGYoCi0gICAgIlxuICBCcmFuZDogJXMgVHlwZTogJXNcbiIKLSAgICAiICBTaXplOiAlbHUgS0IgaW4gJWQgU2VjdG9yc1xuIiwKLSAgICBtZmN0LAotICAgIHR5cGUsCi0gICAgaW5mby0+c2l6ZSA+PiAxMCwKLSAgICBpbmZvLT5zZWN0b3JfY291bnQKLSAgKTsKKwlwcmludGYgKCJcbiAgQnJhbmQ6ICVzIFR5cGU6ICVzXG4iCisJCQkiICBTaXplOiAlbHUgS0IgaW4gJWQgU2VjdG9yc1xuIiwKKwkJCW1mY3QsIHR5cGUsIGluZm8tPnNpemUgPj4gMTAsIGluZm8tPnNlY3Rvcl9jb3VudCk7CiAKLSAgcHJpbnRmICgiICBTZWN0b3IgU3RhcnQgQWRkcmVzc2VzOiIpOworCXByaW50ZiAoIiAgU2VjdG9yIFN0YXJ0IEFkZHJlc3NlczoiKTsKIAotICBmb3IgKGkgPSAwOyBpIDwgaW5mby0+c2VjdG9yX2NvdW50OyBpKyspCi0gIHsKLSAgICB1bnNpZ25lZCBsb25nIHNpemU7Ci0gICAgdW5zaWduZWQgaW50IGVyYXNlZDsKLSAgICB1bnNpZ25lZCBsb25nICogZmxhc2ggPSAodW5zaWduZWQgbG9uZyAqKSBpbmZvLT5zdGFydFtpXTsKKwlmb3IgKGkgPSAwOyBpIDwgaW5mby0+c2VjdG9yX2NvdW50OyBpKyspIHsKKwkJdW5zaWduZWQgbG9uZyBzaXplOworCQl1bnNpZ25lZCBpbnQgZXJhc2VkOworCQl1bnNpZ25lZCBsb25nICpmbGFzaCA9ICh1bnNpZ25lZCBsb25nICopIGluZm8tPnN0YXJ0W2ldOwogCi0gICAgLyoKLSAgICAgKiBDaGVjayBpZiB3aG9sZSBzZWN0b3IgaXMgZXJhc2VkCi0gICAgICovCi0gICAgc2l6ZSA9Ci0gICAgICAoaSAhPSAoaW5mby0+c2VjdG9yX2NvdW50IC0gMSkpID8KLSAgICAgIChpbmZvLT5zdGFydFtpICsgMV0gLSBpbmZvLT5zdGFydFtpXSkgPj4gMiA6Ci0gICAgICAoaW5mby0+c3RhcnRbMF0gKyBpbmZvLT5zaXplIC0gaW5mby0+c3RhcnRbaV0pID4+IDI7CisJCS8qCisJCSAqIENoZWNrIGlmIHdob2xlIHNlY3RvciBpcyBlcmFzZWQKKwkJICovCisJCXNpemUgPSAoaSAhPSAoaW5mby0+c2VjdG9yX2NvdW50IC0gMSkpID8KKwkJCQkoaW5mby0+c3RhcnRbaSArIDFdIC0gaW5mby0+c3RhcnRbaV0pID4+IDIgOgorCQkJCShpbmZvLT5zdGFydFswXSArIGluZm8tPnNpemUgLSBpbmZvLT5zdGFydFtpXSkgPj4gMjsKIAotICAgIGZvcigKLSAgICAgIGZsYXNoID0gKHVuc2lnbmVkIGxvbmcgKikgaW5mby0+c3RhcnRbaV0sIGVyYXNlZCA9IDE7Ci0gICAgICAoZmxhc2ggIT0gKHVuc2lnbmVkIGxvbmcgKikgaW5mby0+c3RhcnRbaV0gKyBzaXplKSAmJiBlcmFzZWQ7Ci0gICAgICBmbGFzaCsrCi0gICAgKQotICAgICAgZXJhc2VkID0gKmZsYXNoID09IH4weDBVTDsKKwkJZm9yIChmbGFzaCA9ICh1bnNpZ25lZCBsb25nICopIGluZm8tPnN0YXJ0W2ldLCBlcmFzZWQgPSAxOworCQkJIChmbGFzaCAhPSAodW5zaWduZWQgbG9uZyAqKSBpbmZvLT5zdGFydFtpXSArIHNpemUpICYmIGVyYXNlZDsKKwkJCSBmbGFzaCsrKQorCQkJZXJhc2VkID0gKmZsYXNoID09IH4weDBVTDsKIAotICAgIHByaW50ZigKLSAgICAgICIlcyAlMDhsWCAlcyAlcyIsCi0gICAgICAoaSAlIDUpID8gIiIgOiAiXG4gICAiLAotICAgICAgaW5mby0+c3RhcnRbaV0sCi0gICAgICBlcmFzZWQgPyAiRSIgOiAiICIsCi0gICAgICBpbmZvLT5wcm90ZWN0W2ldID8gIlJPIiA6ICIgICIKLSAgICApOwotICB9CisJCXByaW50ZiAoIiVzICUwOGxYICVzICVzIiwKKwkJCQkoaSAlIDUpID8gIiIgOiAiXG4gICAiLAorCQkJCWluZm8tPnN0YXJ0W2ldLAorCQkJCWVyYXNlZCA/ICJFIiA6ICIgIiwgaW5mby0+cHJvdGVjdFtpXSA/ICJSTyIgOiAiICAiKTsKKwl9CiAKLSAgcHV0cygiXG4iKTsKLSAgcmV0dXJuOworCXB1dHMgKCJcbiIpOworCXJldHVybjsKIH0KIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICovCiAKLWludAlmbGFzaF9lcmFzZSAoZmxhc2hfaW5mb190ICppbmZvLCBpbnQgc19maXJzdCwgaW50IHNfbGFzdCkKK2ludCBmbGFzaF9lcmFzZSAoZmxhc2hfaW5mb190ICogaW5mbywgaW50IHNfZmlyc3QsIGludCBzX2xhc3QpCiB7Ci0Jdm9sYXRpbGUgRkxBU0hfV09SRF9TSVpFICphZGRyID0gKEZMQVNIX1dPUkRfU0laRSAqKShpbmZvLT5zdGFydFswXSk7Ci0gICAgaW50IGZsYWcsIHByb3QsIHNlY3QsIGxfc2VjdDsKLSAgICB1bG9uZyBzdGFydCwgbm93LCBsYXN0OwotICAgIHVuc2lnbmVkIGNoYXIgc2g4YjsKKwl2b2xhdGlsZSBGTEFTSF9XT1JEX1NJWkUgKmFkZHIgPSAoRkxBU0hfV09SRF9TSVpFICopIChpbmZvLT5zdGFydFswXSk7CisJaW50IGZsYWcsIHByb3QsIHNlY3QsIGxfc2VjdDsKKwl1bG9uZyBzdGFydCwgbm93LCBsYXN0OworCXVuc2lnbmVkIGNoYXIgc2g4YjsKIAotICAgIGlmICgoc19maXJzdCA8IDApIHx8IChzX2ZpcnN0ID4gc19sYXN0KSkgewotICAgICAgICBpZiAoaW5mby0+Zmxhc2hfaWQgPT0gRkxBU0hfVU5LTk9XTikgewotICAgICAgICAgICAgcHJpbnRmICgiLSBtaXNzaW5nXG4iKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHByaW50ZiAoIi0gbm8gc2VjdG9ycyB0byBlcmFzZVxuIik7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQorCWlmICgoc19maXJzdCA8IDApIHx8IChzX2ZpcnN0ID4gc19sYXN0KSkgeworCQlpZiAoaW5mby0+Zmxhc2hfaWQgPT0gRkxBU0hfVU5LTk9XTikgeworCQkJcHJpbnRmICgiLSBtaXNzaW5nXG4iKTsKKwkJfSBlbHNlIHsKKwkJCXByaW50ZiAoIi0gbm8gc2VjdG9ycyB0byBlcmFzZVxuIik7CisJCX0KKwkJcmV0dXJuIDE7CisJfQogCi0gICAgaWYgKChpbmZvLT5mbGFzaF9pZCA9PSBGTEFTSF9VTktOT1dOKSB8fAotICAgICAgICAoaW5mby0+Zmxhc2hfaWQgPiAoRkxBU0hfTUFOX1NUTSB8IEZMQVNIX0FNRF9DT01QKSkpIHsKLSAgICAgICAgcHJpbnRmICgiQ2FuJ3QgZXJhc2UgdW5rbm93biBmbGFzaCB0eXBlIC0gYWJvcnRlZFxuIik7Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KKwlpZiAoKGluZm8tPmZsYXNoX2lkID09IEZMQVNIX1VOS05PV04pIHx8CisJCShpbmZvLT5mbGFzaF9pZCA+IChGTEFTSF9NQU5fU1RNIHwgRkxBU0hfQU1EX0NPTVApKSkgeworCQlwcmludGYgKCJDYW4ndCBlcmFzZSB1bmtub3duIGZsYXNoIHR5cGUgLSBhYm9ydGVkXG4iKTsKKwkJcmV0dXJuIDE7CisJfQogCi0gICAgcHJvdCA9IDA7Ci0gICAgZm9yIChzZWN0PXNfZmlyc3Q7IHNlY3Q8PXNfbGFzdDsgKytzZWN0KSB7Ci0gICAgICAgIGlmIChpbmZvLT5wcm90ZWN0W3NlY3RdKSB7Ci0gICAgICAgICAgICBwcm90Kys7Ci0gICAgICAgIH0KLSAgICB9CisJcHJvdCA9IDA7CisJZm9yIChzZWN0ID0gc19maXJzdDsgc2VjdCA8PSBzX2xhc3Q7ICsrc2VjdCkgeworCQlpZiAoaW5mby0+cHJvdGVjdFtzZWN0XSkgeworCQkJcHJvdCsrOworCQl9CisJfQogCi0gICAgaWYgKHByb3QpIHsKLSAgICAgICAgcHJpbnRmICgiLSBXYXJuaW5nOiAlZCBwcm90ZWN0ZWQgc2VjdG9ycyB3aWxsIG5vdCBiZSBlcmFzZWQhXG4iLAotICAgICAgICAgICAgcHJvdCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcHJpbnRmICgiXG4iKTsKLSAgICB9CisJaWYgKHByb3QpIHsKKwkJcHJpbnRmICgiLSBXYXJuaW5nOiAlZCBwcm90ZWN0ZWQgc2VjdG9ycyB3aWxsIG5vdCBiZSBlcmFzZWQhXG4iLAorCQkJCXByb3QpOworCX0gZWxzZSB7CisJCXByaW50ZiAoIlxuIik7CisJfQogCi0gICAgbF9zZWN0ID0gLTE7CisJbF9zZWN0ID0gLTE7CiAKLSAgICAvKiBDaGVjayB0aGUgUk9NIENTICovCi0gICAgaWYgKChpbmZvLT5zdGFydFswXSA+PSBST01fQ1MxX1NUQVJUKSAmJiAoaW5mby0+c3RhcnRbMF0gPCBST01fQ1MwX1NUQVJUKSkKLSAgICAgIHNoOGIgPSAzOwotICAgIGVsc2UKLSAgICAgIHNoOGIgPSAwOworCS8qIENoZWNrIHRoZSBST00gQ1MgKi8KKwlpZiAoKGluZm8tPnN0YXJ0WzBdID49IFJPTV9DUzFfU1RBUlQpCisJCSYmIChpbmZvLT5zdGFydFswXSA8IFJPTV9DUzBfU1RBUlQpKQorCQlzaDhiID0gMzsKKwllbHNlCisJCXNoOGIgPSAwOwogCiAJLyogRGlzYWJsZSBpbnRlcnJ1cHRzIHdoaWNoIG1pZ2h0IGNhdXNlIGEgdGltZW91dCBoZXJlICovCi0gICAgZmxhZyA9IGRpc2FibGVfaW50ZXJydXB0cygpOworCWZsYWcgPSBkaXNhYmxlX2ludGVycnVwdHMgKCk7CiAKLSAgICBhZGRyW0FERFIwIDw8IHNoOGJdID0gKEZMQVNIX1dPUkRfU0laRSkweDAwQUEwMEFBOwotICAgIGFkZHJbQUREUjEgPDwgc2g4Yl0gPSAoRkxBU0hfV09SRF9TSVpFKTB4MDA1NTAwNTU7Ci0gICAgYWRkcltBRERSMCA8PCBzaDhiXSA9IChGTEFTSF9XT1JEX1NJWkUpMHgwMDgwMDA4MDsKLSAgICBhZGRyW0FERFIwIDw8IHNoOGJdID0gKEZMQVNIX1dPUkRfU0laRSkweDAwQUEwMEFBOwotICAgIGFkZHJbQUREUjEgPDwgc2g4Yl0gPSAoRkxBU0hfV09SRF9TSVpFKTB4MDA1NTAwNTU7CisJYWRkcltBRERSMCA8PCBzaDhiXSA9IChGTEFTSF9XT1JEX1NJWkUpIDB4MDBBQTAwQUE7CisJYWRkcltBRERSMSA8PCBzaDhiXSA9IChGTEFTSF9XT1JEX1NJWkUpIDB4MDA1NTAwNTU7CisJYWRkcltBRERSMCA8PCBzaDhiXSA9IChGTEFTSF9XT1JEX1NJWkUpIDB4MDA4MDAwODA7CisJYWRkcltBRERSMCA8PCBzaDhiXSA9IChGTEFTSF9XT1JEX1NJWkUpIDB4MDBBQTAwQUE7CisJYWRkcltBRERSMSA8PCBzaDhiXSA9IChGTEFTSF9XT1JEX1NJWkUpIDB4MDA1NTAwNTU7CiAKLSAgICAvKiBTdGFydCBlcmFzZSBvbiB1bnByb3RlY3RlZCBzZWN0b3JzICovCi0gICAgZm9yIChzZWN0ID0gc19maXJzdDsgc2VjdDw9c19sYXN0OyBzZWN0KyspCi0JewotICAgICAgICBpZiAoaW5mby0+cHJvdGVjdFtzZWN0XSA9PSAwKQotCQl7IC8qIG5vdCBwcm90ZWN0ZWQgKi8KLSAgICAgICAgICAgIGFkZHIgPSAoRkxBU0hfV09SRF9TSVpFICopKGluZm8tPnN0YXJ0WzBdICsgKAotCQkJCShpbmZvLT5zdGFydFtzZWN0XSAtIGluZm8tPnN0YXJ0WzBdKSA8PCBzaDhiKSk7CisJLyogU3RhcnQgZXJhc2Ugb24gdW5wcm90ZWN0ZWQgc2VjdG9ycyAqLworCWZvciAoc2VjdCA9IHNfZmlyc3Q7IHNlY3QgPD0gc19sYXN0OyBzZWN0KyspIHsKKwkJaWYgKGluZm8tPnByb3RlY3Rbc2VjdF0gPT0gMCkgewkvKiBub3QgcHJvdGVjdGVkICovCisJCQlhZGRyID0gKEZMQVNIX1dPUkRfU0laRSAqKSAoaW5mby0+c3RhcnRbMF0gKyAoKGluZm8tPgorCQkJCQkJCQkJCQkJCQkgICBzdGFydFtzZWN0XSAtCisJCQkJCQkJCQkJCQkJCSAgIGluZm8tPgorCQkJCQkJCQkJCQkJCQkgICBzdGFydFswXSkgPDwKKwkJCQkJCQkJCQkJCQkJICBzaDhiKSk7CiAKLQkJCWlmIChpbmZvLT5mbGFzaF9pZCAmIEZMQVNIX01BTl9TU1QpCi0JCQl7Ci0JCQkJYWRkcltBRERSMCA8PCBzaDhiXSA9IChGTEFTSF9XT1JEX1NJWkUpMHgwMEFBMDBBQTsKLQkJCQlhZGRyW0FERFIxIDw8IHNoOGJdID0gKEZMQVNIX1dPUkRfU0laRSkweDAwNTUwMDU1OwotIAkJCQlhZGRyW0FERFIwIDw8IHNoOGJdID0gKEZMQVNIX1dPUkRfU0laRSkweDAwODAwMDgwOwotCQkJCWFkZHJbQUREUjAgPDwgc2g4Yl0gPSAoRkxBU0hfV09SRF9TSVpFKTB4MDBBQTAwQUE7Ci0JCQkJYWRkcltBRERSMSA8PCBzaDhiXSA9IChGTEFTSF9XT1JEX1NJWkUpMHgwMDU1MDA1NTsKLQkJCQlhZGRyWzBdID0gKEZMQVNIX1dPUkRfU0laRSkweDAwNTAwMDUwOyAgLyogYmxvY2sgZXJhc2UgKi8KLQkJCQl1ZGVsYXkoMzAwMDApOyAgLyogd2FpdCAzMCBtcyAqLworCQkJaWYgKGluZm8tPmZsYXNoX2lkICYgRkxBU0hfTUFOX1NTVCkgeworCQkJCWFkZHJbQUREUjAgPDwgc2g4Yl0gPSAoRkxBU0hfV09SRF9TSVpFKSAweDAwQUEwMEFBOworCQkJCWFkZHJbQUREUjEgPDwgc2g4Yl0gPSAoRkxBU0hfV09SRF9TSVpFKSAweDAwNTUwMDU1OworCQkJCWFkZHJbQUREUjAgPDwgc2g4Yl0gPSAoRkxBU0hfV09SRF9TSVpFKSAweDAwODAwMDgwOworCQkJCWFkZHJbQUREUjAgPDwgc2g4Yl0gPSAoRkxBU0hfV09SRF9TSVpFKSAweDAwQUEwMEFBOworCQkJCWFkZHJbQUREUjEgPDwgc2g4Yl0gPSAoRkxBU0hfV09SRF9TSVpFKSAweDAwNTUwMDU1OworCQkJCWFkZHJbMF0gPSAoRkxBU0hfV09SRF9TSVpFKSAweDAwNTAwMDUwOwkvKiBibG9jayBlcmFzZSAqLworCQkJCXVkZWxheSAoMzAwMDApOwkvKiB3YWl0IDMwIG1zICovCisJCQl9IGVsc2UgeworCQkJCWFkZHJbMF0gPSAoRkxBU0hfV09SRF9TSVpFKSAweDAwMzAwMDMwOwkvKiBzZWN0b3IgZXJhc2UgKi8KIAkJCX0KIAotCQkJZWxzZQotCQkJCWFkZHJbMF0gPSAoRkxBU0hfV09SRF9TSVpFKTB4MDAzMDAwMzA7ICAvKiBzZWN0b3IgZXJhc2UgKi8KLQogCQkJbF9zZWN0ID0gc2VjdDsKLSAgICAgICAgfQotICAgIH0KKwkJfQorCX0KIAotICAgIC8qIHJlLWVuYWJsZSBpbnRlcnJ1cHRzIGlmIG5lY2Vzc2FyeSAqLwotICAgIGlmIChmbGFnKQotICAgICAgICBlbmFibGVfaW50ZXJydXB0cygpOworCS8qIHJlLWVuYWJsZSBpbnRlcnJ1cHRzIGlmIG5lY2Vzc2FyeSAqLworCWlmIChmbGFnKQorCQllbmFibGVfaW50ZXJydXB0cyAoKTsKIAotICAgIC8qIHdhaXQgYXQgbGVhc3QgODB1cyAtIGxldCdzIHdhaXQgMSBtcyAqLwotICAgIHVkZWxheSAoMTAwMCk7CisJLyogd2FpdCBhdCBsZWFzdCA4MHVzIC0gbGV0J3Mgd2FpdCAxIG1zICovCisJdWRlbGF5ICgxMDAwKTsKIAotICAgIC8qCi0gICAgICogV2Ugd2FpdCBmb3IgdGhlIGxhc3QgdHJpZ2dlcmVkIHNlY3RvcgotICAgICAqLwotICAgIGlmIChsX3NlY3QgPCAwKQotICAgICAgICBnb3RvIERPTkU7CisJLyoKKwkgKiBXZSB3YWl0IGZvciB0aGUgbGFzdCB0cmlnZ2VyZWQgc2VjdG9yCisJICovCisJaWYgKGxfc2VjdCA8IDApCisJCWdvdG8gRE9ORTsKIAotICAgIHN0YXJ0ID0gZ2V0X3RpbWVyICgwKTsKLSAgICBsYXN0ICA9IHN0YXJ0OwotICAgIGFkZHIgPSAoRkxBU0hfV09SRF9TSVpFICopKGluZm8tPnN0YXJ0WzBdICsgKAotCQkJKGluZm8tPnN0YXJ0W2xfc2VjdF0gLSBpbmZvLT5zdGFydFswXSkgPDwgc2g4YikpOwotICAgIHdoaWxlICgoYWRkclswXSAmIChGTEFTSF9XT1JEX1NJWkUpMHgwMDgwMDA4MCkgIT0gKEZMQVNIX1dPUkRfU0laRSkweDAwODAwMDgwKSB7Ci0gICAgICAgIGlmICgobm93ID0gZ2V0X3RpbWVyKHN0YXJ0KSkgPiBDRkdfRkxBU0hfRVJBU0VfVE9VVCkgewotICAgICAgICAgICAgcHJpbnRmICgiVGltZW91dFxuIik7Ci0gICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgfQotICAgICAgICAvKiBzaG93IHRoYXQgd2UncmUgd2FpdGluZyAqLwotICAgICAgICBpZiAoKG5vdyAtIGxhc3QpID4gMTAwMCkgeyAgLyogZXZlcnkgc2Vjb25kICovCi0gICAgICAgICAgICBzZXJpYWxfcHV0YyAoJy4nKTsKLSAgICAgICAgICAgIGxhc3QgPSBub3c7Ci0gICAgICAgIH0KLSAgICB9CisJc3RhcnQgPSBnZXRfdGltZXIgKDApOworCWxhc3QgPSBzdGFydDsKKwlhZGRyID0gKEZMQVNIX1dPUkRfU0laRSAqKSAoaW5mby0+c3RhcnRbMF0gKyAoKGluZm8tPnN0YXJ0W2xfc2VjdF0gLQorCQkJCQkJCQkJCQkJICAgaW5mby0+CisJCQkJCQkJCQkJCQkgICBzdGFydFswXSkgPDwgc2g4YikpOworCXdoaWxlICgoYWRkclswXSAmIChGTEFTSF9XT1JEX1NJWkUpIDB4MDA4MDAwODApICE9CisJCSAgIChGTEFTSF9XT1JEX1NJWkUpIDB4MDA4MDAwODApIHsKKwkJaWYgKChub3cgPSBnZXRfdGltZXIgKHN0YXJ0KSkgPiBDRkdfRkxBU0hfRVJBU0VfVE9VVCkgeworCQkJcHJpbnRmICgiVGltZW91dFxuIik7CisJCQlyZXR1cm4gMTsKKwkJfQorCQkvKiBzaG93IHRoYXQgd2UncmUgd2FpdGluZyAqLworCQlpZiAoKG5vdyAtIGxhc3QpID4gMTAwMCkgewkvKiBldmVyeSBzZWNvbmQgKi8KKwkJCXNlcmlhbF9wdXRjICgnLicpOworCQkJbGFzdCA9IG5vdzsKKwkJfQorCX0KIAotRE9ORToKLSAgICAvKiByZXNldCB0byByZWFkIG1vZGUgKi8KLSAgICBhZGRyID0gKEZMQVNIX1dPUkRfU0laRSAqKWluZm8tPnN0YXJ0WzBdOwotICAgIGFkZHJbMF0gPSAoRkxBU0hfV09SRF9TSVpFKTB4MDBGMDAwRjA7ICAvKiByZXNldCBiYW5rICovCisgIERPTkU6CisJLyogcmVzZXQgdG8gcmVhZCBtb2RlICovCisJYWRkciA9IChGTEFTSF9XT1JEX1NJWkUgKikgaW5mby0+c3RhcnRbMF07CisJYWRkclswXSA9IChGTEFTSF9XT1JEX1NJWkUpIDB4MDBGMDAwRjA7CS8qIHJlc2V0IGJhbmsgKi8KIAotICAgIHByaW50ZiAoIiBkb25lXG4iKTsKLSAgICByZXR1cm4gMDsKKwlwcmludGYgKCIgZG9uZVxuIik7CisJcmV0dXJuIDA7CiB9CiAKIApAQCAtMzY2LDY4ICs0MTEsNjggQEAKICAqIDIgLSBGbGFzaCBub3QgZXJhc2VkCiAgKi8KIAotaW50IHdyaXRlX2J1ZmYgKGZsYXNoX2luZm9fdCAqaW5mbywgdWNoYXIgKnNyYywgdWxvbmcgYWRkciwgdWxvbmcgY250KQoraW50IHdyaXRlX2J1ZmYgKGZsYXNoX2luZm9fdCAqIGluZm8sIHVjaGFyICogc3JjLCB1bG9uZyBhZGRyLCB1bG9uZyBjbnQpCiB7Ci0gICAgdWxvbmcgY3AsIHdwLCBkYXRhOwotICAgIGludCBpLCBsLCByYzsKKwl1bG9uZyBjcCwgd3AsIGRhdGE7CisJaW50IGksIGwsIHJjOwogCi0gICAgd3AgPSAoYWRkciAmIH4zKTsgICAvKiBnZXQgbG93ZXIgd29yZCBhbGlnbmVkIGFkZHJlc3MgKi8KKwl3cCA9IChhZGRyICYgfjMpOwkJCS8qIGdldCBsb3dlciB3b3JkIGFsaWduZWQgYWRkcmVzcyAqLwogCi0gICAgLyoKLSAgICAgKiBoYW5kbGUgdW5hbGlnbmVkIHN0YXJ0IGJ5dGVzCi0gICAgICovCi0gICAgaWYgKChsID0gYWRkciAtIHdwKSAhPSAwKSB7Ci0gICAgICAgIGRhdGEgPSAwOwotICAgICAgICBmb3IgKGk9MCwgY3A9d3A7IGk8bDsgKytpLCArK2NwKSB7Ci0gICAgICAgICAgICBkYXRhID0gKGRhdGEgPDwgOCkgfCAoKih1Y2hhciAqKWNwKTsKLSAgICAgICAgfQotICAgICAgICBmb3IgKDsgaTw0ICYmIGNudD4wOyArK2kpIHsKLSAgICAgICAgICAgIGRhdGEgPSAoZGF0YSA8PCA4KSB8ICpzcmMrKzsKLSAgICAgICAgICAgIC0tY250OwotICAgICAgICAgICAgKytjcDsKLSAgICAgICAgfQotICAgICAgICBmb3IgKDsgY250PT0wICYmIGk8NDsgKytpLCArK2NwKSB7Ci0gICAgICAgICAgICBkYXRhID0gKGRhdGEgPDwgOCkgfCAoKih1Y2hhciAqKWNwKTsKLSAgICAgICAgfQorCS8qCisJICogaGFuZGxlIHVuYWxpZ25lZCBzdGFydCBieXRlcworCSAqLworCWlmICgobCA9IGFkZHIgLSB3cCkgIT0gMCkgeworCQlkYXRhID0gMDsKKwkJZm9yIChpID0gMCwgY3AgPSB3cDsgaSA8IGw7ICsraSwgKytjcCkgeworCQkJZGF0YSA9IChkYXRhIDw8IDgpIHwgKCoodWNoYXIgKikgY3ApOworCQl9CisJCWZvciAoOyBpIDwgNCAmJiBjbnQgPiAwOyArK2kpIHsKKwkJCWRhdGEgPSAoZGF0YSA8PCA4KSB8ICpzcmMrKzsKKwkJCS0tY250OworCQkJKytjcDsKKwkJfQorCQlmb3IgKDsgY250ID09IDAgJiYgaSA8IDQ7ICsraSwgKytjcCkgeworCQkJZGF0YSA9IChkYXRhIDw8IDgpIHwgKCoodWNoYXIgKikgY3ApOworCQl9CiAKLSAgICAgICAgaWYgKChyYyA9IHdyaXRlX3dvcmQoaW5mbywgd3AsIGRhdGEpKSAhPSAwKSB7Ci0gICAgICAgICAgICByZXR1cm4gKHJjKTsKLSAgICAgICAgfQotICAgICAgICB3cCArPSA0OwotICAgIH0KKwkJaWYgKChyYyA9IHdyaXRlX3dvcmQgKGluZm8sIHdwLCBkYXRhKSkgIT0gMCkgeworCQkJcmV0dXJuIChyYyk7CisJCX0KKwkJd3AgKz0gNDsKKwl9CiAKLSAgICAvKgotICAgICAqIGhhbmRsZSB3b3JkIGFsaWduZWQgcGFydAotICAgICAqLwotICAgIHdoaWxlIChjbnQgPj0gNCkgewotICAgICAgICBkYXRhID0gMDsKLSAgICAgICAgZm9yIChpPTA7IGk8NDsgKytpKSB7Ci0gICAgICAgICAgICBkYXRhID0gKGRhdGEgPDwgOCkgfCAqc3JjKys7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKChyYyA9IHdyaXRlX3dvcmQoaW5mbywgd3AsIGRhdGEpKSAhPSAwKSB7Ci0gICAgICAgICAgICByZXR1cm4gKHJjKTsKLSAgICAgICAgfQotICAgICAgICB3cCAgKz0gNDsKLSAgICAgICAgY250IC09IDQ7Ci0gICAgfQorCS8qCisJICogaGFuZGxlIHdvcmQgYWxpZ25lZCBwYXJ0CisJICovCisJd2hpbGUgKGNudCA+PSA0KSB7CisJCWRhdGEgPSAwOworCQlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7CisJCQlkYXRhID0gKGRhdGEgPDwgOCkgfCAqc3JjKys7CisJCX0KKwkJaWYgKChyYyA9IHdyaXRlX3dvcmQgKGluZm8sIHdwLCBkYXRhKSkgIT0gMCkgeworCQkJcmV0dXJuIChyYyk7CisJCX0KKwkJd3AgKz0gNDsKKwkJY250IC09IDQ7CisJfQogCi0gICAgaWYgKGNudCA9PSAwKSB7Ci0gICAgICAgIHJldHVybiAoMCk7Ci0gICAgfQorCWlmIChjbnQgPT0gMCkgeworCQlyZXR1cm4gKDApOworCX0KIAotICAgIC8qCi0gICAgICogaGFuZGxlIHVuYWxpZ25lZCB0YWlsIGJ5dGVzCi0gICAgICovCi0gICAgZGF0YSA9IDA7Ci0gICAgZm9yIChpPTAsIGNwPXdwOyBpPDQgJiYgY250PjA7ICsraSwgKytjcCkgewotICAgICAgICBkYXRhID0gKGRhdGEgPDwgOCkgfCAqc3JjKys7Ci0gICAgICAgIC0tY250OwotICAgIH0KLSAgICBmb3IgKDsgaTw0OyArK2ksICsrY3ApIHsKLSAgICAgICAgZGF0YSA9IChkYXRhIDw8IDgpIHwgKCoodWNoYXIgKiljcCk7Ci0gICAgfQorCS8qCisJICogaGFuZGxlIHVuYWxpZ25lZCB0YWlsIGJ5dGVzCisJICovCisJZGF0YSA9IDA7CisJZm9yIChpID0gMCwgY3AgPSB3cDsgaSA8IDQgJiYgY250ID4gMDsgKytpLCArK2NwKSB7CisJCWRhdGEgPSAoZGF0YSA8PCA4KSB8ICpzcmMrKzsKKwkJLS1jbnQ7CisJfQorCWZvciAoOyBpIDwgNDsgKytpLCArK2NwKSB7CisJCWRhdGEgPSAoZGF0YSA8PCA4KSB8ICgqKHVjaGFyICopIGNwKTsKKwl9CiAKLSAgICByZXR1cm4gKHdyaXRlX3dvcmQoaW5mbywgd3AsIGRhdGEpKTsKKwlyZXR1cm4gKHdyaXRlX3dvcmQgKGluZm8sIHdwLCBkYXRhKSk7CiB9CiAKIApAQCAtNDM3LDU1ICs0ODIsNzkgQEAKICAqIDEgLSB3cml0ZSB0aW1lb3V0CiAgKiAyIC0gRmxhc2ggbm90IGVyYXNlZAogICovCi1zdGF0aWMgaW50IHdyaXRlX3dvcmQgKGZsYXNoX2luZm9fdCAqaW5mbywgdWxvbmcgZGVzdCwgdWxvbmcgZGF0YSkKK3N0YXRpYyBpbnQgd3JpdGVfd29yZCAoZmxhc2hfaW5mb190ICogaW5mbywgdWxvbmcgZGVzdCwgdWxvbmcgZGF0YSkKIHsKLQl2b2xhdGlsZSBGTEFTSF9XT1JEX1NJWkUgKmFkZHIyID0gKEZMQVNIX1dPUkRfU0laRSAqKWluZm8tPnN0YXJ0WzBdOworCXZvbGF0aWxlIEZMQVNIX1dPUkRfU0laRSAqYWRkcjIgPSAoRkxBU0hfV09SRF9TSVpFICopIGluZm8tPnN0YXJ0WzBdOwogCXZvbGF0aWxlIEZMQVNIX1dPUkRfU0laRSAqZGVzdDI7Ci0Jdm9sYXRpbGUgRkxBU0hfV09SRF9TSVpFICpkYXRhMiA9IChGTEFTSF9XT1JEX1NJWkUgKikmZGF0YTsKKwl2b2xhdGlsZSBGTEFTSF9XT1JEX1NJWkUgKmRhdGEyID0gKEZMQVNIX1dPUkRfU0laRSAqKSAmIGRhdGE7CiAJdWxvbmcgc3RhcnQ7CiAJaW50IGZsYWc7CiAJaW50IGk7CiAJdW5zaWduZWQgY2hhciBzaDhiOwogCi0gICAgLyogQ2hlY2sgdGhlIFJPTSBDUyAqLwotICAgIGlmICgoaW5mby0+c3RhcnRbMF0gPj0gUk9NX0NTMV9TVEFSVCkgJiYgKGluZm8tPnN0YXJ0WzBdIDwgUk9NX0NTMF9TVEFSVCkpCi0gICAgICBzaDhiID0gMzsKLSAgICBlbHNlCi0gICAgICBzaDhiID0gMDsKKwkvKiBDaGVjayB0aGUgUk9NIENTICovCisJaWYgKChpbmZvLT5zdGFydFswXSA+PSBST01fQ1MxX1NUQVJUKQorCQkmJiAoaW5mby0+c3RhcnRbMF0gPCBST01fQ1MwX1NUQVJUKSkKKwkJc2g4YiA9IDM7CisJZWxzZQorCQlzaDhiID0gMDsKIAotICAgIGRlc3QyID0gKEZMQVNIX1dPUkRfU0laRSAqKSgoKGRlc3QgLSBpbmZvLT5zdGFydFswXSkgPDwgc2g4YikgKwotCQkJCWluZm8tPnN0YXJ0WzBdKTsKKwlkZXN0MiA9IChGTEFTSF9XT1JEX1NJWkUgKikgKCgoZGVzdCAtIGluZm8tPnN0YXJ0WzBdKSA8PCBzaDhiKSArCisJCQkJCQkJCSBpbmZvLT5zdGFydFswXSk7CiAKLSAgICAvKiBDaGVjayBpZiBGbGFzaCBpcyAoc3VmZmljaWVudGx5KSBlcmFzZWQgKi8KLSAgICBpZiAoKCpkZXN0MiAmIChGTEFTSF9XT1JEX1NJWkUpZGF0YSkgIT0gKEZMQVNIX1dPUkRfU0laRSlkYXRhKSB7Ci0gICAgICAgIHJldHVybiAoMik7Ci0gICAgfQotICAgIC8qIERpc2FibGUgaW50ZXJydXB0cyB3aGljaCBtaWdodCBjYXVzZSBhIHRpbWVvdXQgaGVyZSAqLwotICAgIGZsYWcgPSBkaXNhYmxlX2ludGVycnVwdHMoKTsKKwkvKiBDaGVjayBpZiBGbGFzaCBpcyAoc3VmZmljaWVudGx5KSBlcmFzZWQgKi8KKwlpZiAoKCpkZXN0MiAmIChGTEFTSF9XT1JEX1NJWkUpIGRhdGEpICE9IChGTEFTSF9XT1JEX1NJWkUpIGRhdGEpIHsKKwkJcmV0dXJuICgyKTsKKwl9CisJLyogRGlzYWJsZSBpbnRlcnJ1cHRzIHdoaWNoIG1pZ2h0IGNhdXNlIGEgdGltZW91dCBoZXJlICovCisJZmxhZyA9IGRpc2FibGVfaW50ZXJydXB0cyAoKTsKIAotICAgICAgICBmb3IgKGk9MDsgaTw0L3NpemVvZihGTEFTSF9XT1JEX1NJWkUpOyBpKyspCi0gICAgICAgICAgewotICAgICAgICAgICAgYWRkcjJbQUREUjAgPDwgc2g4Yl0gPSAoRkxBU0hfV09SRF9TSVpFKTB4MDBBQTAwQUE7Ci0gICAgICAgICAgICBhZGRyMltBRERSMSA8PCBzaDhiXSA9IChGTEFTSF9XT1JEX1NJWkUpMHgwMDU1MDA1NTsKLSAgICAgICAgICAgIGFkZHIyW0FERFIwIDw8IHNoOGJdID0gKEZMQVNIX1dPUkRfU0laRSkweDAwQTAwMEEwOworCWZvciAoaSA9IDA7IGkgPCA0IC8gc2l6ZW9mIChGTEFTSF9XT1JEX1NJWkUpOyBpKyspIHsKKwkJYWRkcjJbQUREUjAgPDwgc2g4Yl0gPSAoRkxBU0hfV09SRF9TSVpFKSAweDAwQUEwMEFBOworCQlhZGRyMltBRERSMSA8PCBzaDhiXSA9IChGTEFTSF9XT1JEX1NJWkUpIDB4MDA1NTAwNTU7CisJCWFkZHIyW0FERFIwIDw8IHNoOGJdID0gKEZMQVNIX1dPUkRfU0laRSkgMHgwMEEwMDBBMDsKIAotICAgICAgICAgICAgZGVzdDJbaSA8PCBzaDhiXSA9IGRhdGEyW2ldOworCQlkZXN0MltpIDw8IHNoOGJdID0gZGF0YTJbaV07CiAKLSAgICAgICAgICAgIC8qIHJlLWVuYWJsZSBpbnRlcnJ1cHRzIGlmIG5lY2Vzc2FyeSAqLwotICAgICAgICAgICAgaWYgKGZsYWcpCi0gICAgICAgICAgICAgIGVuYWJsZV9pbnRlcnJ1cHRzKCk7CisJCS8qIHJlLWVuYWJsZSBpbnRlcnJ1cHRzIGlmIG5lY2Vzc2FyeSAqLworCQlpZiAoZmxhZykKKwkJCWVuYWJsZV9pbnRlcnJ1cHRzICgpOwogCi0gICAgICAgICAgICAvKiBkYXRhIHBvbGxpbmcgZm9yIEQ3ICovCi0gICAgICAgICAgICBzdGFydCA9IGdldF90aW1lciAoMCk7Ci0gICAgICAgICAgICB3aGlsZSAoKGRlc3QyW2kgPDwgc2g4Yl0gJiAoRkxBU0hfV09SRF9TSVpFKTB4MDA4MDAwODApICE9Ci0gICAgICAgICAgICAgICAgICAgKGRhdGEyW2ldICYgKEZMQVNIX1dPUkRfU0laRSkweDAwODAwMDgwKSkgewotICAgICAgICAgICAgICBpZiAoZ2V0X3RpbWVyKHN0YXJ0KSA+IENGR19GTEFTSF9XUklURV9UT1VUKSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICgxKTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgIH0KKwkJLyogZGF0YSBwb2xsaW5nIGZvciBENyAqLworCQlzdGFydCA9IGdldF90aW1lciAoMCk7CisJCXdoaWxlICgoZGVzdDJbaSA8PCBzaDhiXSAmIChGTEFTSF9XT1JEX1NJWkUpIDB4MDA4MDAwODApICE9CisJCQkgICAoZGF0YTJbaV0gJiAoRkxBU0hfV09SRF9TSVpFKSAweDAwODAwMDgwKSkgeworCQkJaWYgKGdldF90aW1lciAoc3RhcnQpID4gQ0ZHX0ZMQVNIX1dSSVRFX1RPVVQpIHsKKwkJCQlyZXR1cm4gKDEpOworCQkJfQorCQl9CisJfQogCi0gICAgcmV0dXJuICgwKTsKKwlyZXR1cm4gKDApOwogfQorCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKi8KKyNpZiAwCitzdGF0aWMgdm9pZCB3cml0ZV92aWFfZnB1ICh2dV9sb25nICogYWRkciwgdWxvbmcgKiBkYXRhKQoreworCV9fYXNtX18gX192b2xhdGlsZV9fICgibGZkICAxLCAwKCUwKSI6OiJyIiAoZGF0YSkpOworCV9fYXNtX18gX192b2xhdGlsZV9fICgic3RmZCAxLCAwKCUwKSI6OiJyIiAoYWRkcikpOworfQorI2VuZGlmCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworc3RhdGljIF9faW5saW5lX18gdW5zaWduZWQgbG9uZyBnZXRfbXNyICh2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgbXNyOworCisJX19hc21fXyBfX3ZvbGF0aWxlX18gKCJtZm1zciAlMCI6Ij1yIiAobXNyKTopOworCisJcmV0dXJuIG1zcjsKK30KKworc3RhdGljIF9faW5saW5lX18gdm9pZCBzZXRfbXNyICh1bnNpZ25lZCBsb25nIG1zcikKK3sKKwlfX2FzbV9fIF9fdm9sYXRpbGVfXyAoIm10bXNyICUwIjo6InIiIChtc3IpKTsKK30KZGlmZiAtLWdpdCBhL2JvYXJkL3V0eDgyNDUvdXR4ODI0NS5jIGIvYm9hcmQvdXR4ODI0NS91dHg4MjQ1LmMKaW5kZXggNjNiNGUzZS4uYThjODJlNCAxMDA2NDQKLS0tIGEvYm9hcmQvdXR4ODI0NS91dHg4MjQ1LmMKKysrIGIvYm9hcmQvdXR4ODI0NS91dHg4MjQ1LmMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxtcGM4MjR4Lmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPGFzbS9tbXUuaD4KICNpbmNsdWRlIDxwY2kuaD4KIAogI2RlZmluZQlTQVZFX1NaCTMyCkBAIC01MywxMSArNTQsMTggQEAKIAl2b2xhdGlsZSB1bG9uZwkqYWRkcjsKIAl1bG9uZwkJCXNhdmVbU0FWRV9TWl07CiAJdWxvbmcJCQl2YWwsIHJldCAgPSAwOworLyoKKwl3cml0ZV9iYXQoSUJBVDEsICgoQ0ZHX01BWF9SQU1fU0laRS8yKSB8IEJBVFVfQkxfMjU2TSB8IEJBVFVfVlMgfCBCQVRVX1ZQKSwKKwkJCSggKENGR19NQVhfUkFNX1NJWkUvMil8IEJBVExfUFBfMTAgfCBCQVRMX01FTUNPSEVSRU5DRSkpOwogCi0JZm9yIChpPTA7IGk8U0FWRV9TWjsgaSsrKQl7c2F2ZVtpXSA9IDA7fQkJLyogY2xlYXIgdGFibGUgKi8KKwl3cml0ZV9iYXQoREJBVDEsICgoQ0ZHX01BWF9SQU1fU0laRS8yKSB8IEJBVFVfQkxfMjU2TSB8IEJBVFVfVlMgfCBCQVRVX1ZQKSwKKwkJCSggKENGR19NQVhfUkFNX1NJWkUvMil8IEJBVExfUFBfMTAgfCBCQVRMX01FTUNPSEVSRU5DRSkpOworKi8KKwlmb3IgKGk9MDsgaTxTQVZFX1NaOyBpKyspIHsKKwkJc2F2ZVtpXSA9IDA7CQkvKiBjbGVhciB0YWJsZSAqLworCX0KIAotCWZvciAoaT0wLCBjbnQ9KENGR19NQVhfUkFNX1NJWkUgLyBzaXplb2YobG9uZykpID4+IDE7IGNudCA+IDA7IGNudCA+Pj0gMSkKLQl7CisJZm9yIChpPTAsIGNudD0oQ0ZHX01BWF9SQU1fU0laRSAvIHNpemVvZihsb25nKSkgPj4gMTsgY250ID4gMDsgY250ID4+PSAxKSB7CiAJCWFkZHIgPSAodm9sYXRpbGUgdWxvbmcgKiliYXNlICsgY250OwogCQlzYXZlW2krK10gPSAqYWRkcjsKIAkJKmFkZHIgPSB+Y250OwpAQCAtNjcsMTkgKzc1LDE2IEBACiAJc2F2ZVtpXSA9ICphZGRyOwogCSphZGRyID0gMDsKIAotCWlmICgqYWRkciAhPSAwKQotCXsKKwlpZiAoKmFkZHIgIT0gMCkgewogCQkqYWRkciA9IHNhdmVbaV07CiAJCWdvdG8gRG9uZTsKIAl9CiAKLQlmb3IgKGNudCA9IDE7IGNudCA8IENGR19NQVhfUkFNX1NJWkUgLyBzaXplb2YobG9uZyk7IGNudCA8PD0gMSkKLQl7CisJZm9yIChjbnQgPSAxOyBjbnQgPCBDRkdfTUFYX1JBTV9TSVpFIC8gc2l6ZW9mKGxvbmcpOyBjbnQgPDw9IDEpIHsKIAkJYWRkciA9ICh2b2xhdGlsZSB1bG9uZyAqKWJhc2UgKyBjbnQ7CiAJCXZhbCA9ICphZGRyOwogCQkqYWRkciA9IHNhdmVbLS1pXTsKLQkJaWYgKHZhbCAhPSB+Y250KQotCQl7CisJCWlmICh2YWwgIT0gfmNudCkgewogCQkJdWxvbmcgbmV3X2JhbmswX2VuZCA9IGNudCAqIHNpemVvZihsb25nKSAtIDE7CiAJCQl1bG9uZyBtZWFyMSAgPSBtcGM4MjR4X21wYzEwN19nZXRyZWcoTUVBUjEpOwogCQkJdWxvbmcgZW1lYXIxID0gbXBjODI0eF9tcGMxMDdfZ2V0cmVnKEVNRUFSMSk7CkBAIC0xMTEsMTEgKzExNiwxMSBAQAogCiBzdGF0aWMgc3RydWN0IHBjaV9jb25maWdfdGFibGUgcGNpX3V0eDgyNDVfY29uZmlnX3RhYmxlW10gPSB7CiAjaWZuZGVmIENPTkZJR19QQ0lfUE5QCi0JeyBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELAorCXsgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMHgwQywgUENJX0FOWV9JRCwKIAkgIHBjaV9jZmdmdW5jX2NvbmZpZ19kZXZpY2UsIHsgUENJX0VORVQwX0lPQUREUiwKIAkJCQkgICAgICAgUENJX0VORVQwX01FTUFERFIsCiAJCQkJICAgICAgIFBDSV9DT01NQU5EX01FTU9SWSB8IFBDSV9DT01NQU5EX01BU1RFUiB9fSwKLQl7IFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsCisJeyBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAweDBCLCBQQ0lfQU5ZX0lELAogCSAgcGNpX2NmZ2Z1bmNfY29uZmlnX2RldmljZSwgeyBQQ0lfRklSRVdJUkVfSU9BRERSLAogCQkJCSAgICAgICBQQ0lfRklSRVdJUkVfTUVNQUREUiwKIAkJCQkgICAgICAgUENJX0NPTU1BTkRfTUVNT1JZIHwgUENJX0NPTU1BTkRfTUFTVEVSIH19LApAQCAtMTMzLDYgKzEzOCwxNCBAQAogCWVsc2UgaWYgKFBDSV9ERVYoZGV2KSA9PSAxMikKIAkJLyogYXNzaWduIHNlcmlhbCBpbnRlcnJ1cHQgbGluZSA4IChpbnQyNCkgdG8gRXRoZXJuZXQgKi8KIAkJcGNpX2hvc2Vfd3JpdGVfY29uZmlnX2J5dGUoaG9zZSwgZGV2LCBQQ0lfSU5URVJSVVBUX0xJTkUsIDI0KTsKKworCWVsc2UgaWYgKFBDSV9ERVYoZGV2KSA9PSAxNCkKKwkJLyogYXNzaWduIHNlcmlhbCBpbnRlcnJ1cHQgbGluZSAwIChpbnQxNikgdG8gUE1DIHNsb3QgMCAqLworCQlwY2lfaG9zZV93cml0ZV9jb25maWdfYnl0ZShob3NlLCBkZXYsIFBDSV9JTlRFUlJVUFRfTElORSwgMTYpOworCisJZWxzZSBpZiAoUENJX0RFVihkZXYpID09IDE1KQorCQkvKiBhc3NpZ24gc2VyaWFsIGludGVycnVwdCBsaW5lIDEgKGludDE3KSB0byBQTUMgc2xvdCAxICovCisJCXBjaV9ob3NlX3dyaXRlX2NvbmZpZ19ieXRlKGhvc2UsIGRldiwgUENJX0lOVEVSUlVQVF9MSU5FLCAxNyk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgcGNpX2NvbnRyb2xsZXIgdXR4ODI0NV9ob3NlID0gewpkaWZmIC0tZ2l0IGEvY29tbW9uL01ha2VmaWxlIGIvY29tbW9uL01ha2VmaWxlCmluZGV4IDZmOTVkNGYuLjUyNGU4ZTIgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9NYWtlZmlsZQorKysgYi9jb21tb24vTWFrZWZpbGUKQEAgLTM2LDcgKzM2LDcgQEAKIAkgIGNtZF9qZmZzMi5vIGNtZF9sb2cubyBjbWRfbWVtLm8gY21kX21paS5vIGNtZF9taXNjLm8gXAogCSAgY21kX25ldC5vIGNtZF9udmVkaXQubyBlbnZfY29tbW9uLm8gXAogCSAgZW52X2ZsYXNoLm8gZW52X2VlcHJvbS5vIGVudl9udnJhbS5vIGVudl9ub3doZXJlLm8gXAotCSAgY21kX3BjaS5vIGNtZF9wY21jaWEubyBcCisJICBjbWRfcGNpLm8gY21kX3BjbWNpYS5vIGNtZF9wb3J0aW8ubyBcCiAJICBjbWRfcmVnaW5mby5vIGNtZF9zY3NpLm8gY21kX3ZmZC5vIGNtZF91c2IubyBcCiAJICBjb21tYW5kLm8gY29uc29sZS5vIGRldmljZXMubyBkbG1hbGxvYy5vIFwKIAkgIGRvY2VjYy5vIGVudmlyb25tZW50Lm8gZmxhc2gubyBmcGdhLm8gXApkaWZmIC0tZ2l0IGEvY29tbW9uL2NtZF9tZW0uYyBiL2NvbW1vbi9jbWRfbWVtLmMKaW5kZXggZWI0NGYyZS4uZDc3YjA0NyAxMDA2NDQKLS0tIGEvY29tbW9uL2NtZF9tZW0uYworKysgYi9jb21tb24vY21kX21lbS5jCkBAIC0zMSw3ICszMSw4IEBACiAjaW5jbHVkZSA8Y29tbWFuZC5oPgogI2luY2x1ZGUgPGNtZF9tZW0uaD4KIAotI2lmIChDT05GSUdfQ09NTUFORFMgJiAoQ0ZHX0NNRF9NRU1PUlkgfCBDRkdfQ01EX1BDSSB8IENGR19DTURfSTJDKSkKKyNpZiAoQ09ORklHX0NPTU1BTkRTICYgKENGR19DTURfTUVNT1JZIHwgQ0ZHX0NNRF9QQ0kgfCBDRkdfQ01EX0kyQ1wKKwkJCXwgQ01EX0NNRF9QT1JUSU8pKQogaW50IGNtZF9nZXRfZGF0YV9zaXplKGNoYXIqIGFyZywgaW50IGRlZmF1bHRfc2l6ZSkKIHsKIAkvKiBDaGVjayBmb3IgYSBzaXplIHNwZWNpZmljYXRpb24gLmIsIC53IG9yIC5sLgpkaWZmIC0tZ2l0IGEvY29tbW9uL2NtZF9uYW5kLmMgYi9jb21tb24vY21kX25hbmQuYwppbmRleCBlZGI3MTdkLi40YjI3Yzc3IDEwMDY0NAotLS0gYS9jb21tb24vY21kX25hbmQuYworKysgYi9jb21tb24vY21kX25hbmQuYwpAQCAtMjAsOSArMjAsOSBAQAogCiAjaWYgKENPTkZJR19DT01NQU5EUyAmIENGR19DTURfTkFORCkKIAotI2luY2x1ZGUgPGxpbnV4L210ZC9uZnRsLmg+CiAjaW5jbHVkZSA8bGludXgvbXRkL25hbmQuaD4KICNpbmNsdWRlIDxsaW51eC9tdGQvbmFuZF9pZHMuaD4KKyNpbmNsdWRlIDxqZmZzMi9qZmZzMi5oPgogCiAvKgogICogRGVmaW5pdGlvbiBvZiB0aGUgb3V0IG9mIGJhbmQgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUKQEAgLTMzLDE0ICszMywzMiBAQAogCWludCBlY2N2YWxpZF9wb3M7CS8qIHBvc2l0aW9uIG9mIEVDQyB2YWxpZCBmbGFnIGluc2lkZSBvb2IgLTEgPSBpbmFjdGl2ZSAqLwogfSBvb2JfY29uZmlnID0geyB7MH0sIDAsIDB9OwogCi0jZGVmaW5lCU5BTkRfREVCVUcKLSN1bmRlZglFQ0NfREVCVUcKKyN1bmRlZglOQU5EX0RFQlVHCiAjdW5kZWYJUFNZQ0hPX0RFQlVHCi0jdW5kZWYJTkZUTF9ERUJVRworCisvKiAqKioqKioqKioqKioqKioqKiogV0FSTklORyAqKioqKioqKioqKioqKioqKioqKioKKyAqIFdoZW4gQUxMT1dfRVJBU0VfQkFEX0RFQlVHIGlzIG5vbi16ZXJvIHRoZSBlcmFzZSBjb21tYW5kIHdpbGwKKyAqIGVyYXNlIChvciBhdCBsZWFzdCBhdHRlbXB0IHRvIGVyYXNlKSBibG9ja3MgdGhhdCBhcmUgbWFya2VkCisgKiBiYWQuIFRoaXMgY2FuIGJlIHZlcnkgaGFuZHkgaWYgeW91IGFyZSBfc3VyZV8gdGhhdCB0aGUgYmxvY2sKKyAqIGlzIE9LLCBzYXkgYmVjYXVzZSB5b3UgbWFya2VkIGEgZ29vZCBibG9jayBiYWQgdG8gdGVzdCBiYWQKKyAqIGJsb2NrIGhhbmRsaW5nIGFuZCB5b3UgYXJlIGRvbmUgdGVzdGluZywgb3IgaWYgeW91IGhhdmUKKyAqIGFjY2lkZW50YWxseSBtYXJrZWQgYmxvY2tzIGJhZC4KKyAqCisgKiBFcmFzaW5nIGZhY3RvcnkgbWFya2VkIGJhZCBibG9ja3MgaXMgYSBfYmFkXyBpZGVhLiBJZiB0aGUKKyAqIGVyYXNlIHN1Y2NlZWRzIHRoZXJlIGlzIG5vIHJlbGlhYmxlIHdheSB0byBmaW5kIHRoZW0gYWdhaW4sCisgKiBhbmQgYXR0ZW1wdGluZyB0byBwcm9ncmFtIG9yIGVyYXNlIGJhZCBibG9ja3MgY2FuIGFmZmVjdAorICogdGhlIGRhdGEgaW4gX290aGVyXyAoZ29vZCkgYmxvY2tzLgorICovCisjZGVmaW5lCSBBTExPV19FUkFTRV9CQURfREVCVUcgMAogCiAjZGVmaW5lIENPTkZJR19NVERfTkFORF9FQ0MgIC8qIGVuYWJsZSBFQ0MgKi8KIC8qICNkZWZpbmUgQ09ORklHX01URF9OQU5EX0VDQ19KRkZTMiAqLwogCisvKiBiaXRzIGZvciBuYW5kX3J3KCkgYGNtZCc7IG9yIHRvZ2V0aGVyIGFzIG5lZWRlZCAqLworI2RlZmluZSBOQU5EUldfUkVBRAkweDAxCisjZGVmaW5lIE5BTkRSV19XUklURQkweDAwCisjZGVmaW5lIE5BTkRSV19KRkZTMgkweDAyCisKIC8qCiAgKiBGdW5jdGlvbiBQcm90b3R5cGVzCiAgKi8KQEAgLTQ4LDE3ICs2NiwyMiBAQAogc3RhdGljIGludCBuYW5kX3J3IChzdHJ1Y3QgbmFuZF9jaGlwKiBuYW5kLCBpbnQgY21kLAogCSAgICBzaXplX3Qgc3RhcnQsIHNpemVfdCBsZW4sCiAJICAgIHNpemVfdCAqIHJldGxlbiwgdV9jaGFyICogYnVmKTsKLXN0YXRpYyBpbnQgbmFuZF9lcmFzZShzdHJ1Y3QgbmFuZF9jaGlwKiBuYW5kLCBzaXplX3Qgb2ZzLCBzaXplX3QgbGVuKTsKK3N0YXRpYyBpbnQgbmFuZF9lcmFzZShzdHJ1Y3QgbmFuZF9jaGlwKiBuYW5kLCBzaXplX3Qgb2ZzLCBzaXplX3QgbGVuLCBpbnQgY2xlYW4pOwogc3RhdGljIGludCBuYW5kX3JlYWRfZWNjKHN0cnVjdCBuYW5kX2NoaXAgKm5hbmQsIHNpemVfdCBzdGFydCwgc2l6ZV90IGxlbiwKIAkJIHNpemVfdCAqIHJldGxlbiwgdV9jaGFyICpidWYsIHVfY2hhciAqZWNjX2NvZGUpOwogc3RhdGljIGludCBuYW5kX3dyaXRlX2VjYyAoc3RydWN0IG5hbmRfY2hpcCogbmFuZCwgc2l6ZV90IHRvLCBzaXplX3QgbGVuLAogCQkJICAgc2l6ZV90ICogcmV0bGVuLCBjb25zdCB1X2NoYXIgKiBidWYsIHVfY2hhciAqIGVjY19jb2RlKTsKK3N0YXRpYyB2b2lkIG5hbmRfcHJpbnRfYmFkKHN0cnVjdCBuYW5kX2NoaXAgKm5hbmQpOworc3RhdGljIGludCBuYW5kX3JlYWRfb29iKHN0cnVjdCBuYW5kX2NoaXAqIG5hbmQsIHNpemVfdCBvZnMsIHNpemVfdCBsZW4sCisJCSBzaXplX3QgKiByZXRsZW4sIHVfY2hhciAqIGJ1Zik7CitzdGF0aWMgaW50IG5hbmRfd3JpdGVfb29iKHN0cnVjdCBuYW5kX2NoaXAqIG5hbmQsIHNpemVfdCBvZnMsIHNpemVfdCBsZW4sCisJCSBzaXplX3QgKiByZXRsZW4sIGNvbnN0IHVfY2hhciAqIGJ1Zik7CiAjaWZkZWYgQ09ORklHX01URF9OQU5EX0VDQwogc3RhdGljIGludCBuYW5kX2NvcnJlY3RfZGF0YSAodV9jaGFyICpkYXQsIHVfY2hhciAqcmVhZF9lY2MsIHVfY2hhciAqY2FsY19lY2MpOwogc3RhdGljIHZvaWQgbmFuZF9jYWxjdWxhdGVfZWNjIChjb25zdCB1X2NoYXIgKmRhdCwgdV9jaGFyICplY2NfY29kZSk7CiAjZW5kaWYKIAotc3RhdGljIHN0cnVjdCBuYW5kX2NoaXAgbmFuZF9kZXZfZGVzY1tDRkdfTUFYX05BTkRfREVWSUNFXSA9IHt7MH19Oworc3RydWN0IG5hbmRfY2hpcCBuYW5kX2Rldl9kZXNjW0NGR19NQVhfTkFORF9ERVZJQ0VdID0ge3swfX07CiAKIC8qIEN1cnJlbnQgTkFORCBEZXZpY2UJKi8KIHN0YXRpYyBpbnQgY3Vycl9kZXZpY2UgPSAtMTsKQEAgLTk2LDYgKzExOSwxNiBAQAogCQlwcmludGYgKCJcbkRldmljZSAlZDogIiwgY3Vycl9kZXZpY2UpOwogCQluYW5kX3ByaW50KCZuYW5kX2Rldl9kZXNjW2N1cnJfZGV2aWNlXSk7CiAJCXJldHVybiAwOworCisJfSBlbHNlIGlmIChzdHJjbXAoYXJndlsxXSwiYmFkIikgPT0gMCkgeworCQlpZiAoKGN1cnJfZGV2aWNlIDwgMCkgfHwgKGN1cnJfZGV2aWNlID49IENGR19NQVhfTkFORF9ERVZJQ0UpKSB7CisJCQlwdXRzICgiXG5ubyBkZXZpY2VzIGF2YWlsYWJsZVxuIik7CisJCQlyZXR1cm4gMTsKKwkJfQorCQlwcmludGYgKCJcbkRldmljZSAlZCBiYWQgYmxvY2tzOlxuIiwgY3Vycl9kZXZpY2UpOworCQluYW5kX3ByaW50X2JhZCgmbmFuZF9kZXZfZGVzY1tjdXJyX2RldmljZV0pOworCQlyZXR1cm4gMDsKKwogCX0KIAlwcmludGYgKCJVc2FnZTpcbiVzXG4iLCBjbWR0cC0+dXNhZ2UpOwogCXJldHVybiAxOwpAQCAtMTIxLDM4ICsxNTQsODYgQEAKIAogCQlyZXR1cm4gMDsKIAl9CisJZWxzZSBpZiAoc3RyY21wKGFyZ3ZbMV0sImVyYXNlIikgPT0gMCAmJiBzdHJjbXAoYXJndlsyXSwgImNsZWFuIikgPT0gMCkgeworCQlzdHJ1Y3QgbmFuZF9jaGlwKiBuYW5kID0gJm5hbmRfZGV2X2Rlc2NbY3Vycl9kZXZpY2VdOworCQl1bG9uZyBvZmYgPSAwOworCQl1bG9uZyBzaXplID0gbmFuZC0+dG90bGVuOworCQlpbnQgcmV0OworCisJCXByaW50ZiAoIlxuTkFORCBlcmFzZTogZGV2aWNlICVkIG9mZnNldCAlbGQsIHNpemUgJWxkIC4uLiAiLAorCQkJY3Vycl9kZXZpY2UsIG9mZiwgc2l6ZSk7CisKKwkJcmV0ID0gbmFuZF9lcmFzZSAobmFuZCwgb2ZmLCBzaXplLCAxKTsKKworCQlwcmludGYoIiVzXG4iLCByZXQgPyAiRVJST1IiIDogIk9LIik7CisKKwkJcmV0dXJuIHJldDsKKwl9CiAKIAlwcmludGYgKCJVc2FnZTpcbiVzXG4iLCBjbWR0cC0+dXNhZ2UpOwogCXJldHVybiAxOwogICAgIGRlZmF1bHQ6CiAJLyogYXQgbGVhc3QgNCBhcmdzICovCiAKLQlpZiAoc3RyY21wKGFyZ3ZbMV0sInJlYWQiKSA9PSAwIHx8IHN0cmNtcChhcmd2WzFdLCJ3cml0ZSIpID09IDApIHsKKwlpZiAoc3RybmNtcChhcmd2WzFdLCAicmVhZCIsIDQpID09IDAgfHwKKwkgICAgc3RybmNtcChhcmd2WzFdLCAid3JpdGUiLCA1KSA9PSAwKSB7CiAJCXVsb25nIGFkZHIgPSBzaW1wbGVfc3RydG91bChhcmd2WzJdLCBOVUxMLCAxNik7CiAJCXVsb25nIG9mZiAgPSBzaW1wbGVfc3RydG91bChhcmd2WzNdLCBOVUxMLCAxNik7CiAJCXVsb25nIHNpemUgPSBzaW1wbGVfc3RydG91bChhcmd2WzRdLCBOVUxMLCAxNik7Ci0JCWludCBjbWQgICAgPSAoc3RyY21wKGFyZ3ZbMV0sInJlYWQiKSA9PSAwKTsKKwkJaW50IGNtZCAgICA9IChzdHJuY21wKGFyZ3ZbMV0sICJyZWFkIiwgNCkgPT0gMCkgPworCQkJCU5BTkRSV19SRUFEIDogTkFORFJXX1dSSVRFOwogCQlpbnQgcmV0LCB0b3RhbDsKKwkJY2hhciogY21kdGFpbCA9IHN0cmNocihhcmd2WzFdLCAnLicpOworCisJCWlmIChjbWR0YWlsICYmICFzdHJuY21wKGNtZHRhaWwsICIub29iIiwgMikpIHsKKwkJCS8qIHJlYWQgb3V0LW9mLWJhbmQgZGF0YSAqLworCQkJaWYgKGNtZCAmIE5BTkRSV19SRUFEKSB7CisJCQkJcmV0ID0gbmFuZF9yZWFkX29vYihuYW5kX2Rldl9kZXNjICsgY3Vycl9kZXZpY2UsCisJCQkJCQkgICAgb2ZmLCBzaXplLCAmdG90YWwsCisJCQkJCQkgICAgKHVfY2hhciopYWRkcik7CisJCQl9CisJCQllbHNlIHsKKwkJCQlyZXQgPSBuYW5kX3dyaXRlX29vYihuYW5kX2Rldl9kZXNjICsgY3Vycl9kZXZpY2UsCisJCQkJCQkgICAgIG9mZiwgc2l6ZSwgJnRvdGFsLAorCQkJCQkJICAgICAodV9jaGFyKilhZGRyKTsKKwkJCX0KKwkJCXJldHVybiByZXQ7CisJCX0KKwkJZWxzZSBpZiAoY21kdGFpbCAmJiAhc3RybmNtcChjbWR0YWlsLCAiLmpmZnMyIiwgMikpCisJCQljbWQgfD0gTkFORFJXX0pGRlMyOwkvKiBza2lwIGJhZCBibG9ja3MgKi8KKyNpZmRlZiBTWE5JODU1VAorCQkvKiBuZWVkICIuZSIgc2FtZSBhcyAiLmoiIGZvciBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgdW5pdHMgKi8KKwkJZWxzZSBpZiAoY21kdGFpbCAmJiAhc3RyY21wKGNtZHRhaWwsICIuZSIpKQorCQkJY21kIHw9IE5BTkRSV19KRkZTMjsJLyogc2tpcCBiYWQgYmxvY2tzICovCisjZW5kaWYKKwkJZWxzZSBpZiAoY21kdGFpbCkgeworCQkJcHJpbnRmICgiVXNhZ2U6XG4lc1xuIiwgY21kdHAtPnVzYWdlKTsKKwkJCXJldHVybiAxOworCQl9CiAKIAkJcHJpbnRmICgiXG5OQU5EICVzOiBkZXZpY2UgJWQgb2Zmc2V0ICVsZCwgc2l6ZSAlbGQgLi4uICIsCi0JCQljbWQgPyAicmVhZCIgOiAid3JpdGUiLCBjdXJyX2RldmljZSwgb2ZmLCBzaXplKTsKKwkJCShjbWQgJiBOQU5EUldfUkVBRCkgPyAicmVhZCIgOiAid3JpdGUiLAorCQkJY3Vycl9kZXZpY2UsIG9mZiwgc2l6ZSk7CiAKIAkJcmV0ID0gbmFuZF9ydyhuYW5kX2Rldl9kZXNjICsgY3Vycl9kZXZpY2UsIGNtZCwgb2ZmLCBzaXplLAogCQkJICAgICAmdG90YWwsICh1X2NoYXIqKWFkZHIpOwogCi0JCXByaW50ZiAoIiVkIGJ5dGVzICVzOiAlc1xuIiwgdG90YWwsIGNtZCA/ICJyZWFkIiA6ICJ3cml0ZSIsCisJCXByaW50ZiAoIiVkIGJ5dGVzICVzOiAlc1xuIiwgdG90YWwsCisJCQkoY21kICYgTkFORFJXX1JFQUQpID8gInJlYWQiIDogIndyaXRlIiwKIAkJCXJldCA/ICJFUlJPUiIgOiAiT0siKTsKIAogCQlyZXR1cm4gcmV0OwotCX0gZWxzZSBpZiAoc3RyY21wKGFyZ3ZbMV0sImVyYXNlIikgPT0gMCkgewotCQl1bG9uZyBvZmYgPSBzaW1wbGVfc3RydG91bChhcmd2WzJdLCBOVUxMLCAxNik7Ci0JCXVsb25nIHNpemUgPSBzaW1wbGVfc3RydG91bChhcmd2WzNdLCBOVUxMLCAxNik7CisJfSBlbHNlIGlmIChzdHJjbXAoYXJndlsxXSwiZXJhc2UiKSA9PSAwICYmCisJCSAgIChhcmdjID09IDQgfHwgc3RyY21wKCJjbGVhbiIsIGFyZ3ZbMl0pID09IDApKSB7CisJCWludCBjbGVhbiA9IGFyZ2MgPT0gNTsKKwkJdWxvbmcgb2ZmID0gc2ltcGxlX3N0cnRvdWwoYXJndlsyICsgY2xlYW5dLCBOVUxMLCAxNik7CisJCXVsb25nIHNpemUgPSBzaW1wbGVfc3RydG91bChhcmd2WzMgKyBjbGVhbl0sIE5VTEwsIDE2KTsKIAkJaW50IHJldDsKIAogCQlwcmludGYgKCJcbk5BTkQgZXJhc2U6IGRldmljZSAlZCBvZmZzZXQgJWxkLCBzaXplICVsZCAuLi4gIiwKIAkJCWN1cnJfZGV2aWNlLCBvZmYsIHNpemUpOwogCi0JCXJldCA9IG5hbmRfZXJhc2UgKG5hbmRfZGV2X2Rlc2MgKyBjdXJyX2RldmljZSwgb2ZmLCBzaXplKTsKKwkJcmV0ID0gbmFuZF9lcmFzZSAobmFuZF9kZXZfZGVzYyArIGN1cnJfZGV2aWNlLCBvZmYsIHNpemUsIGNsZWFuKTsKIAogCQlwcmludGYoIiVzXG4iLCByZXQgPyAiRVJST1IiIDogIk9LIik7CiAKQEAgLTIxNSwxMSArMjk2LDExIEBACiAJCXJldHVybiAxOwogCX0KIAotCXByaW50ZiAoIlxuTG9hZGluZyBmcm9tIGRldmljZSAlZDogJXMgYXQgMHglbFggKG9mZnNldCAweCVsWClcbiIsCisJcHJpbnRmICgiXG5Mb2FkaW5nIGZyb20gZGV2aWNlICVkOiAlcyBhdCAweCVseCAob2Zmc2V0IDB4JWx4KVxuIiwKIAkJZGV2LCBuYW5kX2Rldl9kZXNjW2Rldl0ubmFtZSwgbmFuZF9kZXZfZGVzY1tkZXZdLklPX0FERFIsCiAJCW9mZnNldCk7CiAKLQlpZiAobmFuZF9ydyAobmFuZF9kZXZfZGVzYyArIGRldiwgMSwgb2Zmc2V0LAorCWlmIChuYW5kX3J3IChuYW5kX2Rldl9kZXNjICsgZGV2LCBOQU5EUldfUkVBRCwgb2Zmc2V0LAogCQkgICAgU0VDVE9SU0laRSwgTlVMTCwgKHVfY2hhciAqKWFkZHIpKSB7CiAJCXByaW50ZiAoIioqIFJlYWQgZXJyb3Igb24gJWRcbiIsIGRldik7CiAJCVNIT1dfQk9PVF9QUk9HUkVTUyAoLTEpOwpAQCAtMjQwLDcgKzMyMSw3IEBACiAJCXJldHVybiAxOwogCX0KIAotCWlmIChuYW5kX3J3IChuYW5kX2Rldl9kZXNjICsgZGV2LCAxLCBvZmZzZXQgKyBTRUNUT1JTSVpFLCBjbnQsCisJaWYgKG5hbmRfcncgKG5hbmRfZGV2X2Rlc2MgKyBkZXYsIE5BTkRSV19SRUFELCBvZmZzZXQgKyBTRUNUT1JTSVpFLCBjbnQsCiAJCSAgICBOVUxMLCAodV9jaGFyICopKGFkZHIrU0VDVE9SU0laRSkpKSB7CiAJCXByaW50ZiAoIioqIFJlYWQgZXJyb3Igb24gJWRcbiIsIGRldik7CiAJCVNIT1dfQk9PVF9QUk9HUkVTUyAoLTEpOwpAQCAtMjU5LDcgKzM0MCw3IEBACiAJCWxvY2FsX2FyZ3NbMF0gPSBhcmd2WzBdOwogCQlsb2NhbF9hcmdzWzFdID0gTlVMTDsKIAotCQlwcmludGYgKCJBdXRvbWF0aWMgYm9vdCBvZiBpbWFnZSBhdCBhZGRyIDB4JTA4bFggLi4uXG4iLCBhZGRyKTsKKwkJcHJpbnRmICgiQXV0b21hdGljIGJvb3Qgb2YgaW1hZ2UgYXQgYWRkciAweCUwOGx4IC4uLlxuIiwgYWRkcik7CiAKIAkJZG9fYm9vdG0gKGNtZHRwLCAwLCAxLCBsb2NhbF9hcmdzKTsKIAkJcmNvZGUgPSAxOwpAQCAtMjY3LDIzICszNDgsMTAzIEBACiAJcmV0dXJuIHJjb2RlOwogfQogCisvKiByZXR1cm5zIDAgaWYgYmxvY2sgY29udGFpbmluZyBwb3MgaXMgT0s6CisgKgkJdmFsaWQgZXJhc2UgYmxvY2sgYW5kCisgKgkJbm90IG1hcmtlZCBiYWQsIG9yIG5vIGJhZCBtYXJrIHBvc2l0aW9uIGlzIHNwZWNpZmllZAorICogcmV0dXJucyAxIGlmIG1hcmtlZCBiYWQgb3Igb3RoZXJ3aXNlIGludmFsaWQKKyAqLworaW50IGNoZWNrX2Jsb2NrKHN0cnVjdCBuYW5kX2NoaXAqIG5hbmQsIHVuc2lnbmVkIGxvbmcgcG9zKQoreworCWludCByZXRsZW47CisJdWludDhfdCBvb2JfZGF0YTsKKwlpbnQgcGFnZTAgPSBwb3MgJiAoLW5hbmQtPmVyYXNlc2l6ZSk7CisJaW50IHBhZ2UxID0gcGFnZTAgKyBuYW5kLT5vb2JibG9jazsKKwlpbnQgYmFkcG9zID0gb29iX2NvbmZpZy5iYWRibG9ja19wb3M7CisKKwlpZiAocG9zID49IG5hbmQtPnRvdGxlbikKKwkJcmV0dXJuIDE7CisKKwlpZiAoYmFkcG9zIDwgMCkKKwkJcmV0dXJuIDA7CS8qIG5vIHdheSB0byBjaGVjaywgYXNzdW1lIE9LICovCisKKwkvKiBOb3RlIC0gYmFkIGJsb2NrIG1hcmtlciBjYW4gYmUgb24gZmlyc3Qgb3Igc2Vjb25kIHBhZ2UgKi8KKwlpZiAobmFuZF9yZWFkX29vYihuYW5kLCBwYWdlMCArIGJhZHBvcywgMSwgJnJldGxlbiwgJm9vYl9kYXRhKSB8fAorCSAgICBvb2JfZGF0YSAhPSAweGZmIHx8CisJICAgIG5hbmRfcmVhZF9vb2IobmFuZCwgcGFnZTEgKyBiYWRwb3MsIDEsICZyZXRsZW4sICZvb2JfZGF0YSkgfHwKKwkgICAgb29iX2RhdGEgIT0gMHhmZikKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKwkKKy8qIHByaW50IGJhZCBibG9ja3MgaW4gTkFORCBmbGFzaCAqLworc3RhdGljIHZvaWQgbmFuZF9wcmludF9iYWQoc3RydWN0IG5hbmRfY2hpcCogbmFuZCkKK3sKKwl1bnNpZ25lZCBsb25nIHBvczsKKworCWZvciAocG9zID0gMDsgcG9zIDwgbmFuZC0+dG90bGVuOyBwb3MgKz0gbmFuZC0+ZXJhc2VzaXplKSB7CisJCWlmIChjaGVja19ibG9jayhuYW5kLCBwb3MpKQorCQkJcHJpbnRmKCIgMHglOC44bHhcbiIsIHBvcyk7CisJfQorCXB1dHMoIlxuIik7Cit9CisKKy8qIGNtZDogMDogTkFORFJXX1dSSVRFCQkJd3JpdGUsIGZhaWwgb24gYmFkIGJsb2NrCisgKgkxOiBOQU5EUldfUkVBRAkJCXJlYWQsIGZhaWwgb24gYmFkIGJsb2NrCisgKgkyOiBOQU5EUldfV1JJVEUgfCBOQU5EUldfSkZGUzIJd3JpdGUsIHNraXAgYmFkIGJsb2NrcworICoJMzogTkFORFJXX1JFQUQgfCBOQU5EUldfSkZGUzIJcmVhZCwgZGF0YSBhbGwgMHhmZiBmb3IgYmFkIGJsb2NrcworICovCiBzdGF0aWMgaW50IG5hbmRfcncgKHN0cnVjdCBuYW5kX2NoaXAqIG5hbmQsIGludCBjbWQsCiAJICAgIHNpemVfdCBzdGFydCwgc2l6ZV90IGxlbiwKIAkgICAgc2l6ZV90ICogcmV0bGVuLCB1X2NoYXIgKiBidWYpCiB7CiAJaW50IG5vZWNjLCByZXQgPSAwLCBuLCB0b3RhbCA9IDA7CiAJY2hhciBlY2NidWZbNl07CisJLyogZWJsayAob25jZSBzZXQpIGlzIHRoZSBzdGFydCBvZiB0aGUgZXJhc2UgYmxvY2sgY29udGFpbmluZyB0aGUKKwkgKiBkYXRhIGJlaW5nIHByb2Nlc3NlZC4KKwkgKi8KKwl1bnNpZ25lZCBsb25nIGVibGsgPSB+MDsJLyogZm9yY2UgbWlzbWF0Y2ggb24gZmlyc3QgcGFzcyAqLworCXVuc2lnbmVkIGxvbmcgZXJhc2VzaXplID0gbmFuZC0+ZXJhc2VzaXplOwogCi0Jd2hpbGUobGVuKSB7CisJd2hpbGUgKGxlbikgeworCQlpZiAoKHN0YXJ0ICYgKC1lcmFzZXNpemUpKSAhPSBlYmxrKSB7CisJCQkvKiBoYXZlIGNyb3NzZWQgaW50byBuZXcgZXJhc2UgYmxvY2ssIGRlYWwgd2l0aAorCQkJICogaXQgaWYgaXQgaXMgc3VyZSBtYXJrZWQgYmFkLgorCQkJICovCisJCQllYmxrID0gc3RhcnQgJiAoLWVyYXNlc2l6ZSk7IC8qIHN0YXJ0IG9mIGJsb2NrICovCisJCQlpZiAoY2hlY2tfYmxvY2sobmFuZCwgZWJsaykpIHsKKwkJCQlpZiAoY21kID09IChOQU5EUldfUkVBRCB8IE5BTkRSV19KRkZTMikpIHsKKwkJCQkJd2hpbGUgKGxlbiA+IDAgJiYKKwkJCQkJICAgICAgIHN0YXJ0IC0gZWJsayA8IGVyYXNlc2l6ZSkgeworCQkJCQkJKihidWYrKykgPSAweGZmOworCQkJCQkJKytzdGFydDsKKwkJCQkJCSsrdG90YWw7CisJCQkJCQktLWxlbjsKKwkJCQkJfQorCQkJCQljb250aW51ZTsKKwkJCQl9CisJCQkJZWxzZSBpZiAoY21kID09IChOQU5EUldfV1JJVEUgfCBOQU5EUldfSkZGUzIpKSB7CisJCQkJCS8qIHNraXAgYmFkIGJsb2NrICovCisJCQkJCXN0YXJ0ICs9IGVyYXNlc2l6ZTsKKwkJCQkJY29udGludWU7CisJCQkJfQorCQkJCWVsc2UgeworCQkJCQlyZXQgPSAxOworCQkJCQlicmVhazsKKwkJCQl9CisJCQl9CisJCX0KIAkJLyogVGhlIEVDQyB3aWxsIG5vdCBiZSBjYWxjdWxhdGVkIGNvcnJlY3RseSBpZgogCQkgICBsZXNzIHRoYW4gNTEyIGlzIHdyaXR0ZW4gb3IgcmVhZCAqLwogCQlub2VjYyA9IChzdGFydCAhPSAoc3RhcnQgfCAweDFmZikgKyAxKSB8fAkobGVuIDwgMHgyMDApOwotCQlpZiAoY21kKQotCQkJcmV0ID0gbmFuZF9yZWFkX2VjYyhuYW5kLCBzdGFydCwgbGVuLAorCQlpZiAoY21kICYgTkFORFJXX1JFQUQpCisJCQlyZXQgPSBuYW5kX3JlYWRfZWNjKG5hbmQsIHN0YXJ0LAorCQkJCQkgICBtaW4obGVuLCBlYmxrICsgZXJhc2VzaXplIC0gc3RhcnQpLAogCQkJCQkgICAmbiwgKHVfY2hhciopYnVmLAogCQkJCQkgICBub2VjYyA/IE5VTEwgOiBlY2NidWYpOwogCQllbHNlCi0JCQlyZXQgPSBuYW5kX3dyaXRlX2VjYyhuYW5kLCBzdGFydCwgbGVuLAorCQkJcmV0ID0gbmFuZF93cml0ZV9lY2MobmFuZCwgc3RhcnQsCisJCQkJCSAgICBtaW4obGVuLCBlYmxrICsgZXJhc2VzaXplIC0gc3RhcnQpLAogCQkJCQkgICAgJm4sICh1X2NoYXIqKWJ1ZiwKIAkJCQkJICAgIG5vZWNjID8gTlVMTCA6IGVjY2J1Zik7CiAKQEAgLTMwMywzMCArNDY0LDE4IEBACiAKIHN0YXRpYyB2b2lkIG5hbmRfcHJpbnQoc3RydWN0IG5hbmRfY2hpcCAqbmFuZCkKIHsKLQlwcmludGYoIiVzIGF0IDB4JWxYLFxuIgotCSAgICAgICAiXHQgICVkIGNoaXAlcyAlcywgc2l6ZSAlZCBNQiwgXG4iCi0JICAgICAgICJcdCAgdG90YWwgc2l6ZSAlbGQgTUIsIHNlY3RvciBzaXplICVsZCBrQlxuIiwKLQkgICAgICAgbmFuZC0+bmFtZSwgbmFuZC0+SU9fQUREUiwgbmFuZC0+bnVtY2hpcHMsCi0JICAgICAgIG5hbmQtPm51bWNoaXBzPjEgPyAicyIgOiAiIiwgbmFuZC0+Y2hpcHNfbmFtZSwKLQkgICAgICAgMSA8PCAobmFuZC0+Y2hpcHNoaWZ0IC0gMjApLAotCSAgICAgICBuYW5kLT50b3RsZW4gPj4gMjAsIG5hbmQtPmVyYXNlc2l6ZSA+PiAxMCk7Ci0KLQlpZiAobmFuZC0+bmZ0bF9mb3VuZCkgewotCQlzdHJ1Y3QgTkZUTHJlY29yZCAqbmZ0bCA9ICZuYW5kLT5uZnRsOwotCQl1bnNpZ25lZCBsb25nIGJpbl9zaXplLCBmbGFzaF9zaXplOwotCi0JCWJpbl9zaXplID0gbmZ0bC0+bmJfYm9vdF9ibG9ja3MgKiBuYW5kLT5lcmFzZXNpemU7Ci0JCWZsYXNoX3NpemUgPSAobmZ0bC0+bmJfYmxvY2tzIC0gbmZ0bC0+bmJfYm9vdF9ibG9ja3MpICogbmFuZC0+ZXJhc2VzaXplOwotCi0JCXByaW50ZigiXHQgIE5GVEwgYm9vdCByZWNvcmQ6XG4iCi0JCSAgICAgICAiXHQgICAgQmluYXJ5IHBhcnRpdGlvbjogc2l6ZSAlbGQlc1xuIgotCQkgICAgICAgIlx0ICAgIEZsYXNoIGRpc2sgcGFydGl0aW9uOiBzaXplICVsZCVzLCBvZmZzZXQgMHglbHhcbiIsCi0JCSAgICAgICBiaW5fc2l6ZSA+ICgxIDw8IDIwKSA/IGJpbl9zaXplID4+IDIwIDogYmluX3NpemUgPj4gMTAsCi0JCSAgICAgICBiaW5fc2l6ZSA+ICgxIDw8IDIwKSA/ICJNQiIgOiAia0IiLAotCQkgICAgICAgZmxhc2hfc2l6ZSA+ICgxIDw8IDIwKSA/IGZsYXNoX3NpemUgPj4gMjAgOiBmbGFzaF9zaXplID4+IDEwLAotCQkgICAgICAgZmxhc2hfc2l6ZSA+ICgxIDw8IDIwKSA/ICJNQiIgOiAia0IiLCBiaW5fc2l6ZSk7Ci0JfSBlbHNlIHsKLQkJcHV0cyAoIlx0ICBObyBORlRMIGJvb3QgcmVjb3JkIGZvdW5kLlxuIik7CisJaWYgKG5hbmQtPm51bWNoaXBzID4gMSkgeworCQlwcmludGYoIiVzIGF0IDB4JWx4LFxuIgorCQkgICAgICAgIlx0ICAlZCBjaGlwcyAlcywgc2l6ZSAlZCBNQiwgXG4iCisJCSAgICAgICAiXHQgIHRvdGFsIHNpemUgJWxkIE1CLCBzZWN0b3Igc2l6ZSAlbGQga0JcbiIsCisJCSAgICAgICBuYW5kLT5uYW1lLCBuYW5kLT5JT19BRERSLCBuYW5kLT5udW1jaGlwcywKKwkJICAgICAgIG5hbmQtPmNoaXBzX25hbWUsIDEgPDwgKG5hbmQtPmNoaXBzaGlmdCAtIDIwKSwKKwkJICAgICAgIG5hbmQtPnRvdGxlbiA+PiAyMCwgbmFuZC0+ZXJhc2VzaXplID4+IDEwKTsKKwl9CisJZWxzZSB7CisJCXByaW50ZigiJXMgYXQgMHglbHggKCIsIG5hbmQtPmNoaXBzX25hbWUsIG5hbmQtPklPX0FERFIpOyAKKwkJcHJpbnRfc2l6ZShuYW5kLT50b3RsZW4sICIsICIpOworCQlwcmludF9zaXplKG5hbmQtPmVyYXNlc2l6ZSwgIiBzZWN0b3IpXG4iKTsKIAl9CiB9CiAKQEAgLTQ4NCw2ICs2MzMsNyBAQAogCQkJCW5hbmQtPmNoaXBzaGlmdCA9CiAJCQkJICAgIG5hbmRfZmxhc2hfaWRzW2ldLmNoaXBzaGlmdDsKIAkJCQluYW5kLT5wYWdlMjU2ID0gbmFuZF9mbGFzaF9pZHNbaV0ucGFnZTI1NjsKKwkJCQluYW5kLT5lY2NzaXplID0gMjU2OwogCQkJCWlmIChuYW5kLT5wYWdlMjU2KSB7CiAJCQkJCW5hbmQtPm9vYmJsb2NrID0gMjU2OwogCQkJCQluYW5kLT5vb2JzaXplID0gODsKQEAgLTU3OSw0MSArNzI5LDEyIEBACiAjZW5kaWYKIH0KIAotI2lmZGVmIENPTkZJR19NVERfTkFORF9FQ0MKIC8qIHdlIG5lZWQgdG8gYmUgZmFzdCBoZXJlLCAxIHVzIHBlciByZWFkIHRyYW5zbGF0ZXMgdG8gMSBzZWNvbmQgcGVyIG1lZyAqLwotc3RhdGljIHZvaWQgbmFuZF9mYXN0X2NvcHkgKHVuc2lnbmVkIGNoYXIgKnNvdXJjZSwgdW5zaWduZWQgY2hhciAqZGVzdCwgbG9uZyBjbnRyKQorc3RhdGljIHZvaWQgTmFuRF9SZWFkQnVmKHN0cnVjdCBuYW5kX2NoaXAgKm5hbmQsIHVfY2hhciAqZGF0YV9idWYsIGludCBjbnRyKQogewotCXdoaWxlIChjbnRyID4gMTYpIHsKLQkJKmRlc3QrKyA9ICpzb3VyY2UrKzsKLQkJKmRlc3QrKyA9ICpzb3VyY2UrKzsKLQkJKmRlc3QrKyA9ICpzb3VyY2UrKzsKLQkJKmRlc3QrKyA9ICpzb3VyY2UrKzsKLQkJKmRlc3QrKyA9ICpzb3VyY2UrKzsKLQkJKmRlc3QrKyA9ICpzb3VyY2UrKzsKLQkJKmRlc3QrKyA9ICpzb3VyY2UrKzsKLQkJKmRlc3QrKyA9ICpzb3VyY2UrKzsKLQkJKmRlc3QrKyA9ICpzb3VyY2UrKzsKLQkJKmRlc3QrKyA9ICpzb3VyY2UrKzsKLQkJKmRlc3QrKyA9ICpzb3VyY2UrKzsKLQkJKmRlc3QrKyA9ICpzb3VyY2UrKzsKLQkJKmRlc3QrKyA9ICpzb3VyY2UrKzsKLQkJKmRlc3QrKyA9ICpzb3VyY2UrKzsKLQkJKmRlc3QrKyA9ICpzb3VyY2UrKzsKLQkJKmRlc3QrKyA9ICpzb3VyY2UrKzsKLQkJY250ciAtPSAxNjsKLQl9CisJdW5zaWduZWQgbG9uZyBuYW5kcHRyID0gbmFuZC0+SU9fQUREUjsKIAotCXdoaWxlIChjbnRyID4gMCkgewotCQkqZGVzdCsrID0gKnNvdXJjZSsrOwotCQljbnRyLS07Ci0JfQotfQotI2VuZGlmCi0KLS8qIHdlIG5lZWQgdG8gYmUgZmFzdCBoZXJlLCAxIHVzIHBlciByZWFkIHRyYW5zbGF0ZXMgdG8gMSBzZWNvbmQgcGVyIG1lZyAqLwotc3RhdGljIHZvaWQgbmFuZF9mYXN0X3JlYWQodW5zaWduZWQgY2hhciAqZGF0YV9idWYsIGludCBjbnRyLCB1bnNpZ25lZCBsb25nIG5hbmRwdHIpCi17Ci0Jd2hpbGUgKGNudHIgPiAxNikgeworCXdoaWxlIChjbnRyID49IDE2KSB7CiAJCSpkYXRhX2J1ZisrID0gUkVBRF9OQU5EKG5hbmRwdHIpOwogCQkqZGF0YV9idWYrKyA9IFJFQURfTkFORChuYW5kcHRyKTsKIAkJKmRhdGFfYnVmKysgPSBSRUFEX05BTkQobmFuZHB0cik7CkBAIC02MzksMTQgKzc2MCw2IEBACiAJfQogfQogCi0vKiBUaGlzIHJvdXRpbmUgaXMgbWFkZSBhdmFpbGFibGUgdG8gb3RoZXIgbXRkIGNvZGUgdmlhCi0gKiBpbnRlcl9tb2R1bGVfcmVnaXN0ZXIuICBJdCBtdXN0IG9ubHkgYmUgYWNjZXNzZWQgdGhyb3VnaAotICogaW50ZXJfbW9kdWxlX2dldCB3aGljaCB3aWxsIGJ1bXAgdGhlIHVzZSBjb3VudCBvZiB0aGlzIG1vZHVsZS4gIFRoZQotICogYWRkcmVzc2VzIHBhc3NlZCBiYWNrIGluIG10ZCBhcmUgdmFsaWQgYXMgbG9uZyBhcyB0aGUgdXNlIGNvdW50IG9mCi0gKiB0aGlzIG1vZHVsZSBpcyBub24temVybywgaS5lLiBiZXR3ZWVuIGludGVyX21vZHVsZV9nZXQgYW5kCi0gKiBpbnRlcl9tb2R1bGVfcHV0LiAgS2VpdGggT3dlbnMgPGthb3NAb2NzLmNvbS5hdT4gMjkgT2N0IDIwMDAuCi0gKi8KLQogLyoKICAqIE5BTkQgcmVhZCB3aXRoIEVDQwogICovCkBAIC02NjEsNyArNzc0LDYgQEAKIAl1X2NoYXIgKmRhdGFfcG9pOwogCXVfY2hhciBlY2NfY2FsY1s2XTsKICNlbmRpZgotCXVuc2lnbmVkIGxvbmcgbmFuZHB0ciA9IG5hbmQtPklPX0FERFI7CiAKIAkvKiBEbyBub3QgYWxsb3cgcmVhZHMgcGFzdCBlbmQgb2YgZGV2aWNlICovCiAJaWYgKChzdGFydCArIGxlbikgPiBuYW5kLT50b3RsZW4pIHsKQEAgLTY5Niw3ICs4MDgsNyBAQAogCQlOYW5EX0NvbW1hbmQobmFuZCwgTkFORF9DTURfUkVBRDApOwogICAgICAgICAgICAgICAgIE5hbkRfQWRkcmVzcyhuYW5kLCBBRERSX0NPTFVNTl9QQUdFLCAocGFnZSA8PCBuYW5kLT5wYWdlX3NoaWZ0KSArIGNvbCk7CiAJCS8qIFJlYWQgaW4gYSBwYWdlICsgb29iIGRhdGEgKi8KLQkJbmFuZF9mYXN0X3JlYWQobmFuZC0+ZGF0YV9idWYsIG5hbmQtPm9vYmJsb2NrICsgbmFuZC0+b29ic2l6ZSwgbmFuZHB0cik7CisJCU5hbkRfUmVhZEJ1ZihuYW5kLCBuYW5kLT5kYXRhX2J1ZiwgbmFuZC0+b29iYmxvY2sgKyBuYW5kLT5vb2JzaXplKTsKIAogCQkvKiBjb3B5IGRhdGEgaW50byBjYWNoZSwgZm9yIHJlYWQgb3V0IG9mIGNhY2hlIGFuZCBpZiBlY2MgZmFpbHMgKi8KIAkJaWYgKG5hbmQtPmRhdGFfY2FjaGUpCkBAIC03MTksNyArODMxLDggQEAKIAkJCQlicmVhazsKIAkJCWNhc2UgMToKIAkJCWNhc2UgMjoJLyogdHJhbnNmZXIgRUNDIGNvcnJlY3RlZCBkYXRhIHRvIGNhY2hlICovCi0JCQkJbWVtY3B5IChuYW5kLT5kYXRhX2NhY2hlLCBuYW5kLT5kYXRhX2J1ZiwgMjU2KTsKKwkJCQlpZiAobmFuZC0+ZGF0YV9jYWNoZSkKKwkJCQkJbWVtY3B5IChuYW5kLT5kYXRhX2NhY2hlLCBuYW5kLT5kYXRhX2J1ZiwgMjU2KTsKIAkJCQlicmVhazsKIAkJCX0KIAkJfQpAQCAtNzQ1LDEwICs4NTgsMTAgQEAKIAkJZGF0YV9wb2kgPSAobmFuZC0+ZGF0YV9jYWNoZSkgPyBuYW5kLT5kYXRhX2NhY2hlIDogbmFuZC0+ZGF0YV9idWY7CiAJCWRhdGFfcG9pICs9IGNvbDsKIAkJaWYgKCgqcmV0bGVuICsgKG5hbmQtPm9vYmJsb2NrIC0gY29sKSkgPj0gbGVuKSB7Ci0JCQluYW5kX2Zhc3RfY29weSAoZGF0YV9wb2ksIGJ1ZiArICpyZXRsZW4sIGxlbiAtICpyZXRsZW4pOworCQkJbWVtY3B5IChidWYgKyAqcmV0bGVuLCBkYXRhX3BvaSwgbGVuIC0gKnJldGxlbik7CiAJCQkqcmV0bGVuID0gbGVuOwogCQl9IGVsc2UgewotCQkJbmFuZF9mYXN0X2NvcHkgKGRhdGFfcG9pLCBidWYgKyAqcmV0bGVuLCBuYW5kLT5vb2JibG9jayAtIGNvbCk7CisJCQltZW1jcHkgKGJ1ZiArICpyZXRsZW4sIGRhdGFfcG9pLCAgbmFuZC0+b29iYmxvY2sgLSBjb2wpOwogCQkJKnJldGxlbiArPSBuYW5kLT5vb2JibG9jayAtIGNvbDsKIAkJfQogCQkvKiBTZXQgY2FjaGUgcGFnZSBhZGRyZXNzLCBpbnZhbGlkYXRlLCBpZiBlY2NfZmFpbGVkICovCkBAIC03NjMsMTIgKzg3NiwxMiBAQAogICAgICAgICAgICAgICAgIE5hbkRfQWRkcmVzcyhuYW5kLCBBRERSX0NPTFVNTl9QQUdFLCAocGFnZSA8PCBuYW5kLT5wYWdlX3NoaWZ0KSArIGNvbCk7CiAJCS8qIFJlYWQgdGhlIGRhdGEgZGlyZWN0bHkgaW50byB0aGUgcmV0dXJuIGJ1ZmZlciAqLwogCQlpZiAoKCpyZXRsZW4gKyAobmFuZC0+b29iYmxvY2sgLSBjb2wpKSA+PSBsZW4pIHsKLQkJCW5hbmRfZmFzdF9yZWFkKGJ1ZiArICpyZXRsZW4sIGxlbiAtICpyZXRsZW4sIG5hbmRwdHIpOworCQkJTmFuRF9SZWFkQnVmKG5hbmQsIGJ1ZiArICpyZXRsZW4sIGxlbiAtICpyZXRsZW4pOwogCQkJKnJldGxlbiA9IGxlbjsKIAkJCS8qIFdlJ3JlIGRvbmUgKi8KIAkJCWNvbnRpbnVlOwogCQl9IGVsc2UgewotCQkJbmFuZF9mYXN0X3JlYWQoYnVmICsgKnJldGxlbiwgbmFuZC0+b29iYmxvY2sgLSBjb2wsIG5hbmRwdHIpOworCQkJTmFuRF9SZWFkQnVmKG5hbmQsIGJ1ZiArICpyZXRsZW4sIG5hbmQtPm9vYmJsb2NrIC0gY29sKTsKIAkJCSpyZXRsZW4gKz0gbmFuZC0+b29iYmxvY2sgLSBjb2w7CiAJCQl9CiAjZW5kaWYKQEAgLTg0Nyw2ICs5NjAsNyBAQAogCQluYW5kLT5kYXRhX2J1ZltpXSA9IDB4ZmY7CiAKIAkvKiBTZW5kIGNvbW1hbmQgdG8gYmVnaW4gYXV0byBwYWdlIHByb2dyYW1taW5nICovCisJTmFuRF9Db21tYW5kKG5hbmQsIE5BTkRfQ01EX1JFQUQwKTsKIAlOYW5EX0NvbW1hbmQobmFuZCwgTkFORF9DTURfU0VRSU4pOwogCU5hbkRfQWRkcmVzcyhuYW5kLCBBRERSX0NPTFVNTl9QQUdFLCAocGFnZSA8PCBuYW5kLT5wYWdlX3NoaWZ0KSArIGNvbCk7CiAKQEAgLTk4MiwxODAgKzEwOTYsMTcgQEAKIAlyZXR1cm4gcmV0OwogfQogCi0jaWYgMCAvKiBub3QgdXNlZCAqLwotLyogUmVhZCBhIGJ1ZmZlciBmcm9tIE5hbkQgKi8KLXN0YXRpYyB2b2lkIE5hbkRfUmVhZEJ1ZihzdHJ1Y3QgbmFuZF9jaGlwICpuYW5kLCB1X2NoYXIgKiBidWYsIGludCBsZW4pCi17Ci0JdW5zaWduZWQgbG9uZyBuYW5kcHRyOwotCi0JbmFuZHB0ciA9IG5hbmQtPklPX0FERFI7Ci0KLQlmb3IgKDsgbGVuID4gMDsgbGVuLS0pCi0JCSpidWYrKyA9IFJFQURfTkFORChuYW5kcHRyKTsKLQotfQotLyogV3JpdGUgYSBidWZmZXIgdG8gTmFuRCAqLwotc3RhdGljIHZvaWQgTmFuRF9Xcml0ZUJ1ZihzdHJ1Y3QgbmFuZF9jaGlwICpuYW5kLCBjb25zdCB1X2NoYXIgKiBidWYsIGludCBsZW4pCi17Ci0JdW5zaWduZWQgbG9uZyBuYW5kcHRyOwotCWludCBpOwotCi0JbmFuZHB0ciA9IG5hbmQtPklPX0FERFI7Ci0KLQlpZiAobGVuIDw9IDApCi0JCXJldHVybjsKLQotCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykKLQkJV1JJVEVfTkFORChidWZbaV0sIG5hbmRwdHIpOwotCi19Ci0KLS8qIGZpbmRfYm9vdF9yZWNvcmQ6IEZpbmQgdGhlIE5GVEwgTWVkaWEgSGVhZGVyIGFuZCBpdHMgU3BhcmUgY29weSB3aGljaCBjb250YWlucyB0aGUKLSAqCXZhcmlvdXMgZGV2aWNlIGluZm9ybWF0aW9uIG9mIHRoZSBORlRMIHBhcnRpdGlvbiBhbmQgQmFkIFVuaXQgVGFibGUuIFVwZGF0ZQotICoJdGhlIFJlcGxVbml0VGFibGVbXSB0YWJsZSBhY2Nyb2RpbmcgdG8gdGhlIEJhZCBVbml0IFRhYmxlLiBSZXBsVW5pdFRhYmxlW10KLSAqCWlzIHVzZWQgZm9yIG1hbmFnZW1lbnQgb2YgRXJhc2UgVW5pdCBpbiBvdGhlciByb3V0aW5lcyBpbiBuZnRsLmMgYW5kIG5mdGxtb3VudC5jCisvKiByZWFkIGZyb20gdGhlIDE2IGJ5dGVzIG9mIG9vYiBkYXRhIHRoYXQgY29ycmVzcG9uZCB0byBhIDUxMiBieXRlCisgKiBwYWdlIG9yIDIgMjU2LWJ5dGUgcGFnZXMuCiAgKi8KLXN0YXRpYyBpbnQgZmluZF9ib290X3JlY29yZChzdHJ1Y3QgTkZUTHJlY29yZCAqbmZ0bCkKLXsKLQlzdHJ1Y3QgbmZ0bF91Y2kxIGgxOwotCXN0cnVjdCBuZnRsX29vYiBvb2I7Ci0JdW5zaWduZWQgaW50IGJsb2NrLCBib290X3JlY29yZF9jb3VudCA9IDA7Ci0JaW50IHJldGxlbjsKLQl1OCBidWZbU0VDVE9SU0laRV07Ci0Jc3RydWN0IE5GVExNZWRpYUhlYWRlciAqbWggPSAmbmZ0bC0+TWVkaWFIZHI7Ci0JdW5zaWduZWQgaW50IGk7Ci0KLQluZnRsLT5NZWRpYVVuaXQgPSBCTE9DS19OSUw7Ci0JbmZ0bC0+U3BhcmVNZWRpYVVuaXQgPSBCTE9DS19OSUw7Ci0KLQkvKiBzZWFyY2ggZm9yIGEgdmFsaWQgYm9vdCByZWNvcmQgKi8KLQlmb3IgKGJsb2NrID0gMDsgYmxvY2sgPCBuZnRsLT5uYl9ibG9ja3M7IGJsb2NrKyspIHsKLQkJaW50IHJldDsKLQotCQkvKiBDaGVjayBmb3IgQU5BTkQgaGVhZGVyIGZpcnN0LiBUaGVuIGNhbiB3aGluZ2UgaWYgaXQncyBmb3VuZCBidXQgbGF0ZXIKLQkJICAgY2hlY2tzIGZhaWwgKi8KLQkJaWYgKChyZXQgPSBuYW5kX3JlYWRfZWNjKG5mdGwtPm10ZCwgYmxvY2sgKiBuZnRsLT5FcmFzZVNpemUsIFNFQ1RPUlNJWkUsCi0JCQkJCSZyZXRsZW4sIGJ1ZiwgTlVMTCkpKSB7Ci0JCQlzdGF0aWMgaW50IHdhcm5jb3VudCA9IDU7Ci0KLQkJCWlmICh3YXJuY291bnQpIHsKLQkJCQlwcmludGYoIkJsb2NrIHJlYWQgYXQgMHgleCBmYWlsZWRcbiIsIGJsb2NrICogbmZ0bC0+RXJhc2VTaXplKTsKLQkJCQlpZiAoIS0td2FybmNvdW50KQotCQkJCQlwdXRzICgiRnVydGhlciBmYWlsdXJlcyBmb3IgdGhpcyBibG9jayB3aWxsIG5vdCBiZSBwcmludGVkXG4iKTsKLQkJCX0KLQkJCWNvbnRpbnVlOwotCQl9Ci0KLQkJaWYgKHJldGxlbiA8IDYgfHwgbWVtY21wKGJ1ZiwgIkFOQU5EIiwgNikpIHsKLQkJCS8qIEFOQU5EXDAgbm90IGZvdW5kLiBDb250aW51ZSAqLwotI2lmZGVmIFBTWUNIT19ERUJVRwotCQkJcHJpbnRmKCJBTkFORCBoZWFkZXIgbm90IGZvdW5kIGF0IDB4JXhcbiIsIGJsb2NrICogbmZ0bC0+RXJhc2VTaXplKTsKLSNlbmRpZgotCQkJY29udGludWU7Ci0JCX0KLQotI2lmZGVmIE5GVExfREVCVUcKLQkJcHJpbnRmKCJBTkFORCBoZWFkZXIgZm91bmQgYXQgMHgleFxuIiwgYmxvY2sgKiBuZnRsLT5FcmFzZVNpemUpOwotI2VuZGlmCi0KLQkJLyogVG8gYmUgc2FmZXIgd2l0aCBCSU9TLCBhbHNvIHVzZSBlcmFzZSBtYXJrIGFzIGRpc2NyaW1pbmFudCAqLwotCQlpZiAoKHJldCA9IG5hbmRfcmVhZF9vb2IobmZ0bC0+bXRkLCBibG9jayAqIG5mdGwtPkVyYXNlU2l6ZSArIFNFQ1RPUlNJWkUgKyA4LAotCQkJCTgsICZyZXRsZW4sIChjaGFyICopJmgxKSA8IDApKSB7Ci0jaWZkZWYgTkZUTF9ERUJVRwotCQkJcHJpbnRmKCJBTkFORCBoZWFkZXIgZm91bmQgYXQgMHgleCwgYnV0IE9PQiBkYXRhIHJlYWQgZmFpbGVkXG4iLAotCQkJICAgICAgIGJsb2NrICogbmZ0bC0+RXJhc2VTaXplKTsKLSNlbmRpZgotCQkJY29udGludWU7Ci0JCX0KLQotCQkvKiBPSywgd2UgbGlrZSBpdC4gKi8KLQotCQlpZiAoYm9vdF9yZWNvcmRfY291bnQpIHsKLQkJCS8qIFdlJ3ZlIGFscmVhZHkgcHJvY2Vzc2VkIG9uZS4gU28gd2UganVzdCBjaGVjayBpZgotCQkJICAgdGhpcyBvbmUgaXMgdGhlIHNhbWUgYXMgdGhlIGZpcnN0IG9uZSB3ZSBmb3VuZCAqLwotCQkJaWYgKG1lbWNtcChtaCwgYnVmLCBzaXplb2Yoc3RydWN0IE5GVExNZWRpYUhlYWRlcikpKSB7Ci0jaWZkZWYgTkZUTF9ERUJVRwotCQkJCXByaW50ZigiTkZUTCBNZWRpYSBIZWFkZXJzIGF0IDB4JXggYW5kIDB4JXggZGlzYWdyZWUuXG4iLAotCQkJCSAgICAgICBuZnRsLT5NZWRpYVVuaXQgKiBuZnRsLT5FcmFzZVNpemUsIGJsb2NrICogbmZ0bC0+RXJhc2VTaXplKTsKLSNlbmRpZgotCQkJCS8qIGlmIChkZWJ1ZykgUHJpbnQgYm90aCBzaWRlIGJ5IHNpZGUgKi8KLQkJCQlyZXR1cm4gLTE7Ci0JCQl9Ci0JCQlpZiAoYm9vdF9yZWNvcmRfY291bnQgPT0gMSkKLQkJCQluZnRsLT5TcGFyZU1lZGlhVW5pdCA9IGJsb2NrOwotCi0JCQlib290X3JlY29yZF9jb3VudCsrOwotCQkJY29udGludWU7Ci0JCX0KLQotCQkvKiBUaGlzIGlzIHRoZSBmaXJzdCB3ZSd2ZSBzZWVuLiBDb3B5IHRoZSBtZWRpYSBoZWFkZXIgc3RydWN0dXJlIGludG8gcGxhY2UgKi8KLQkJbWVtY3B5KG1oLCBidWYsIHNpemVvZihzdHJ1Y3QgTkZUTE1lZGlhSGVhZGVyKSk7Ci0KLQkJLyogRG8gc29tZSBzYW5pdHkgY2hlY2tzIG9uIGl0ICovCi0JCWlmIChtaC0+VW5pdFNpemVGYWN0b3IgIT0gMHhmZikgewotCQkJcHV0cyAoIlNvcnJ5LCB3ZSBkb24ndCBzdXBwb3J0IFVuaXRTaXplRmFjdG9yICIKLQkJCSAgICAgICJvZiAhPSAxIHlldC5cbiIpOwotCQkJcmV0dXJuIC0xOwotCQl9Ci0KLQkJbmZ0bC0+bmJfYm9vdF9ibG9ja3MgPSBsZTE2X3RvX2NwdShtaC0+Rmlyc3RQaHlzaWNhbEVVTik7Ci0JCWlmICgobmZ0bC0+bmJfYm9vdF9ibG9ja3MgKyAyKSA+PSBuZnRsLT5uYl9ibG9ja3MpIHsKLQkJCXByaW50ZiAoIk5GVEwgTWVkaWEgSGVhZGVyIHNhbml0eSBjaGVjayBmYWlsZWQ6XG4iCi0JCQkJIm5iX2Jvb3RfYmxvY2tzICglZCkgKyAyID4gbmJfYmxvY2tzICglZClcbiIsCi0JCQkJbmZ0bC0+bmJfYm9vdF9ibG9ja3MsIG5mdGwtPm5iX2Jsb2Nrcyk7Ci0JCQlyZXR1cm4gLTE7Ci0JCX0KLQotCQluZnRsLT5udW12dW5pdHMgPSBsZTMyX3RvX2NwdShtaC0+Rm9ybWF0dGVkU2l6ZSkgLyBuZnRsLT5FcmFzZVNpemU7Ci0JCWlmIChuZnRsLT5udW12dW5pdHMgPiAobmZ0bC0+bmJfYmxvY2tzIC0gbmZ0bC0+bmJfYm9vdF9ibG9ja3MgLSAyKSkgewotCQkJcHJpbnRmICgiTkZUTCBNZWRpYSBIZWFkZXIgc2FuaXR5IGNoZWNrIGZhaWxlZDpcbiIKLQkJCQkibnVtdnVuaXRzICglZCkgPiBuYl9ibG9ja3MgKCVkKSAtIG5iX2Jvb3RfYmxvY2tzKCVkKSAtIDJcbiIsCi0JCQkJbmZ0bC0+bnVtdnVuaXRzLAotCQkJCW5mdGwtPm5iX2Jsb2NrcywKLQkJCQluZnRsLT5uYl9ib290X2Jsb2Nrcyk7Ci0JCQlyZXR1cm4gLTE7Ci0JCX0KLQotCQluZnRsLT5ucl9zZWN0cyAgPSBuZnRsLT5udW12dW5pdHMgKiAobmZ0bC0+RXJhc2VTaXplIC8gU0VDVE9SU0laRSk7Ci0KLQkJLyogSWYgd2UncmUgbm90IHVzaW5nIHRoZSBsYXN0IHNlY3RvcnMgaW4gdGhlIGRldmljZSBmb3Igc29tZSByZWFzb24sCi0JCSAgIHJlZHVjZSBuYl9ibG9ja3MgYWNjb3JkaW5nbHkgc28gd2UgZm9yZ2V0IHRoZXkncmUgdGhlcmUgKi8KLQkJbmZ0bC0+bmJfYmxvY2tzID0gbGUxNl90b19jcHUobWgtPk51bUVyYXNlVW5pdHMpICsgbGUxNl90b19jcHUobWgtPkZpcnN0UGh5c2ljYWxFVU4pOwotCi0JCS8qIHJlYWQgdGhlIEJhZCBFcmFzZSBVbml0IFRhYmxlIGFuZCBtb2RpZnkgUmVwbFVuaXRUYWJsZVtdIGFjY29yZGluZ2x5ICovCi0JCWZvciAoaSA9IDA7IGkgPCBuZnRsLT5uYl9ibG9ja3M7IGkrKykgewotCQkJaWYgKChpICYgKFNFQ1RPUlNJWkUgLSAxKSkgPT0gMCkgewotCQkJCS8qIHJlYWQgb25lIHNlY3RvciBmb3IgZXZlcnkgU0VDVE9SU0laRSBvZiBibG9ja3MgKi8KLQkJCQlpZiAoKHJldCA9IG5hbmRfcmVhZF9lY2MobmZ0bC0+bXRkLCBibG9jayAqIG5mdGwtPkVyYXNlU2l6ZSArCi0JCQkJCQkgICAgICAgaSArIFNFQ1RPUlNJWkUsIFNFQ1RPUlNJWkUsCi0JCQkJCQkgICAgICAgJnJldGxlbiwgYnVmLCAoY2hhciAqKSZvb2IpKSA8IDApIHsKLQkJCQkJcHV0cyAoIlJlYWQgb2YgYmFkIHNlY3RvciB0YWJsZSBmYWlsZWRcbiIpOwotCQkJCQlyZXR1cm4gLTE7Ci0JCQkJfQotCQkJfQotCQkJLyogbWFyayB0aGUgQmFkIEVyYXNlIFVuaXQgYXMgUkVTRVJWRUQgaW4gUmVwbFVuaXRUYWJsZSAqLwotCQkJaWYgKGJ1ZltpICYgKFNFQ1RPUlNJWkUgLSAxKV0gIT0gMHhmZikKLQkJCQluZnRsLT5SZXBsVW5pdFRhYmxlW2ldID0gQkxPQ0tfUkVTRVJWRUQ7Ci0JCX0KLQotCQluZnRsLT5NZWRpYVVuaXQgPSBibG9jazsKLQkJYm9vdF9yZWNvcmRfY291bnQrKzsKLQotCX0gLyogZm9yZWFjaCAoYmxvY2spICovCi0KLQlyZXR1cm4gYm9vdF9yZWNvcmRfY291bnQ/MDotMTsKLX0KIHN0YXRpYyBpbnQgbmFuZF9yZWFkX29vYihzdHJ1Y3QgbmFuZF9jaGlwKiBuYW5kLCBzaXplX3Qgb2ZzLCBzaXplX3QgbGVuLAotCQkgc2l6ZV90ICogcmV0bGVuLCB1X2NoYXIgKiBidWYpCisJCQkgc2l6ZV90ICogcmV0bGVuLCB1X2NoYXIgKiBidWYpCiB7Ci0JaW50IGxlbjI1NiA9IDAsIHJldDsKLQl1bnNpZ25lZCBsb25nIG5hbmRwdHI7CisJaW50IGxlbjI1NiA9IDA7CiAJc3RydWN0IE5hbmQgKm15Y2hpcDsKIAlpbnQgcmV0ID0gMDsKIAotCW5hbmRwdHIgPSBuYW5kLT5JT19BRERSOwotCi0JbXljaGlwID0gJm5hbmQtPmNoaXBzW3NocihvZnMsIG5hbmQtPmNoaXBzaGlmdCldOworCW15Y2hpcCA9ICZuYW5kLT5jaGlwc1tvZnMgPj4gbmFuZC0+Y2hpcHNoaWZ0XTsKIAogCS8qIHVwZGF0ZSBhZGRyZXNzIGZvciAyTSB4IDhiaXQgZGV2aWNlcy4gT09CIHN0YXJ0cyBvbiB0aGUgc2Vjb25kICovCiAJLyogcGFnZSB0byBtYWludGFpbiBjb21wYXRpYmlsaXR5IHdpdGggbmFuZF9yZWFkX2VjYy4gKi8KQEAgLTExNjYsNiArMTExNyw3IEBACiAJCQlvZnMgLT0gMHg4OwogCX0KIAorCU5BTkRfRU5BQkxFX0NFKG5hbmQpOyAgLyogc2V0IHBpbiBsb3cgKi8KIAlOYW5EX0NvbW1hbmQobmFuZCwgTkFORF9DTURfUkVBRE9PQik7CiAJTmFuRF9BZGRyZXNzKG5hbmQsIEFERFJfQ09MVU1OX1BBR0UsIG9mcyk7CiAKQEAgLTExODgsMTQgKzExNDAsMjAgQEAKICAgICAgICAgICogdG8gd2FpdCB1bnRpbCByZWFkeSAxMS40LjEgYW5kIFRvc2hpYmEgVEM1ODI1NkZUIG5hbmRzICovCiAKIAlyZXQgPSBOYW5EX1dhaXRSZWFkeShuYW5kKTsKKyAgICAgICAgTkFORF9ESVNBQkxFX0NFKG5hbmQpOyAgLyogc2V0IHBpbiBoaWdoICovCiAKIAlyZXR1cm4gcmV0OwogCiB9CisKKy8qIHdyaXRlIHRvIHRoZSAxNiBieXRlcyBvZiBvb2IgZGF0YSB0aGF0IGNvcnJlc3BvbmQgdG8gYSA1MTIgYnl0ZQorICogcGFnZSBvciAyIDI1Ni1ieXRlIHBhZ2VzLgorICovCiBzdGF0aWMgaW50IG5hbmRfd3JpdGVfb29iKHN0cnVjdCBuYW5kX2NoaXAqIG5hbmQsIHNpemVfdCBvZnMsIHNpemVfdCBsZW4sCiAJCSAgc2l6ZV90ICogcmV0bGVuLCBjb25zdCB1X2NoYXIgKiBidWYpCiB7CiAJaW50IGxlbjI1NiA9IDA7CisJaW50IGk7CiAJdW5zaWduZWQgbG9uZyBuYW5kcHRyID0gbmFuZC0+SU9fQUREUjsKIAogI2lmZGVmIFBTWUNIT19ERUJVRwpAQCAtMTIwNCw2ICsxMTYyLDggQEAKIAkgICAgICAgYnVmWzhdLCBidWZbOV0sIGJ1ZlsxNF0sYnVmWzE1XSk7CiAjZW5kaWYKIAorCU5BTkRfRU5BQkxFX0NFKG5hbmQpOyAgLyogc2V0IHBpbiBsb3cgdG8gZW5hYmxlIGNoaXAgKi8KKwogCS8qIFJlc2V0IHRoZSBjaGlwICovCiAJTmFuRF9Db21tYW5kKG5hbmQsIE5BTkRfQ01EX1JFU0VUKTsKIApAQCAtMTIyOSw3ICsxMTg5LDggQEAKIAkvKiAgICAgICBuZXh0IE9PQiBibG9jaywgYnV0IGl0IGRpZG4ndCB3b3JrIGhlcmUuIG1mLiAgICAgICovCiAJaWYgKG5hbmQtPnBhZ2UyNTYgJiYgb2ZzICsgbGVuID4gKG9mcyB8IDB4NykgKyAxKSB7CiAJCWxlbjI1NiA9IChvZnMgfCAweDcpICsgMSAtIG9mczsKLQkJTmFuRF9Xcml0ZUJ1ZihuYW5kLCBidWYsIGxlbjI1Nik7CisJCWZvciAoaSA9IDA7IGkgPCBsZW4yNTY7IGkrKykKKwkJCVdSSVRFX05BTkQoYnVmW2ldLCBuYW5kcHRyKTsKIAogCQlOYW5EX0NvbW1hbmQobmFuZCwgTkFORF9DTURfUEFHRVBST0cpOwogCQlOYW5EX0NvbW1hbmQobmFuZCwgTkFORF9DTURfU1RBVFVTKTsKQEAgLTEyMzgsNiArMTE5OSw3IEBACiAJCWlmIChSRUFEX05BTkQobmFuZHB0cikgJiAxKSB7CiAJCQlwdXRzICgiRXJyb3IgcHJvZ3JhbW1pbmcgb29iIGRhdGFcbiIpOwogCQkJLyogVGhlcmUgd2FzIGFuIGVycm9yICovCisJCQlOQU5EX0RJU0FCTEVfQ0UobmFuZCk7ICAvKiBzZXQgcGluIGhpZ2ggKi8KIAkJCSpyZXRsZW4gPSAwOwogCQkJcmV0dXJuIC0xOwogCQl9CkBAIC0xMjQ1LDcgKzEyMDcsOCBAQAogCQlOYW5EX0FkZHJlc3MobmFuZCwgQUREUl9DT0xVTU5fUEFHRSwgb2ZzICYgKH4weDFmZikpOwogCX0KIAotCU5hbkRfV3JpdGVCdWYobmFuZCwgJmJ1ZltsZW4yNTZdLCBsZW4gLSBsZW4yNTYpOworCWZvciAoaSA9IGxlbjI1NjsgaSA8IGxlbjsgaSsrKQorCQlXUklURV9OQU5EKGJ1ZltpXSwgbmFuZHB0cik7CiAKIAlOYW5EX0NvbW1hbmQobmFuZCwgTkFORF9DTURfUEFHRVBST0cpOwogCU5hbkRfQ29tbWFuZChuYW5kLCBOQU5EX0NNRF9TVEFUVVMpOwpAQCAtMTI1NCwxOCArMTIxNywyNyBAQAogCWlmIChSRUFEX05BTkQobmFuZHB0cikgJiAxKSB7CiAJCXB1dHMgKCJFcnJvciBwcm9ncmFtbWluZyBvb2IgZGF0YVxuIik7CiAJCS8qIFRoZXJlIHdhcyBhbiBlcnJvciAqLworCQlOQU5EX0RJU0FCTEVfQ0UobmFuZCk7ICAvKiBzZXQgcGluIGhpZ2ggKi8KIAkJKnJldGxlbiA9IDA7CiAJCXJldHVybiAtMTsKIAl9CiAKKwlOQU5EX0RJU0FCTEVfQ0UobmFuZCk7ICAvKiBzZXQgcGluIGhpZ2ggKi8KIAkqcmV0bGVuID0gbGVuOwogCXJldHVybiAwOwogCiB9Ci0jZW5kaWYKIAotc3RhdGljIGludCBuYW5kX2VyYXNlKHN0cnVjdCBuYW5kX2NoaXAqIG5hbmQsIHNpemVfdCBvZnMsIHNpemVfdCBsZW4pCitzdGF0aWMgaW50IG5hbmRfZXJhc2Uoc3RydWN0IG5hbmRfY2hpcCogbmFuZCwgc2l6ZV90IG9mcywgc2l6ZV90IGxlbiwgaW50IGNsZWFuKQogeworCS8qIFRoaXMgaXMgZGVmaW5lZCBhcyBhIHN0cnVjdHVyZSBzbyBpdCB3aWxsIHdvcmsgb24gYW55IHN5c3RlbQorCSAqIHVzaW5nIG5hdGl2ZSBlbmRpYW4gamZmczIgKHRoZSBkZWZhdWx0KS4KKwkgKi8KKwlzdGF0aWMgc3RydWN0IGpmZnMyX3Vua25vd25fbm9kZSBjbGVhbl9tYXJrZXIgPSB7CisJCUpGRlMyX01BR0lDX0JJVE1BU0ssCisJCUpGRlMyX05PREVUWVBFX0NMRUFOTUFSS0VSLAorCQk4CQkvKiA4IGJ5dGVzIGluIHRoaXMgbm9kZSAqLworCX07CiAJdW5zaWduZWQgbG9uZyBuYW5kcHRyOwogCXN0cnVjdCBOYW5kICpteWNoaXA7CiAJaW50IHJldCA9IDA7CkBAIC0xMjg5LDkgKzEyNjEsNiBAQAogCQlnb3RvIG91dDsKIAl9CiAKLQkvKiBTZWxlY3QgdGhlIE5BTkQgZGV2aWNlICovCi0JTkFORF9FTkFCTEVfQ0UobmFuZCk7ICAvKiBzZXQgcGluIGxvdyAqLwotCiAJLyogQ2hlY2sgdGhlIFdQIGJpdCAqLwogCU5hbkRfQ29tbWFuZChuYW5kLCBOQU5EX0NNRF9TVEFUVVMpOwogCWlmICghKFJFQURfTkFORChuYW5kLT5JT19BRERSKSAmIDB4ODApKSB7CkBAIC0xMzA1LDE4ICsxMjc0LDQ5IEBACiAJCS8qbXljaGlwID0gJm5hbmQtPmNoaXBzW3NocihvZnMsIG5hbmQtPmNoaXBzaGlmdCldOyovCiAJCW15Y2hpcCA9ICZuYW5kLT5jaGlwc1tvZnMgPj4gbmFuZC0+Y2hpcHNoaWZ0XTsKIAotCQlOYW5EX0NvbW1hbmQobmFuZCwgTkFORF9DTURfRVJBU0UxKTsKLQkJTmFuRF9BZGRyZXNzKG5hbmQsIEFERFJfUEFHRSwgb2ZzKTsKLQkJTmFuRF9Db21tYW5kKG5hbmQsIE5BTkRfQ01EX0VSQVNFMik7CisJCS8qIGFsd2F5cyBjaGVjayBmb3IgYmFkIGJsb2NrIGZpcnN0LCBnZW51aW5lIGJhZCBibG9ja3MKKwkJICogc2hvdWxkIF9uZXZlcl8gIGJlIGVyYXNlZC4KKwkJICovCisJCWlmIChBTExPV19FUkFTRV9CQURfREVCVUcgfHwgIWNoZWNrX2Jsb2NrKG5hbmQsIG9mcykpIHsKKwkJCS8qIFNlbGVjdCB0aGUgTkFORCBkZXZpY2UgKi8KKwkJCU5BTkRfRU5BQkxFX0NFKG5hbmQpOyAgLyogc2V0IHBpbiBsb3cgKi8KIAotCQlOYW5EX0NvbW1hbmQobmFuZCwgTkFORF9DTURfU1RBVFVTKTsKKwkJCU5hbkRfQ29tbWFuZChuYW5kLCBOQU5EX0NNRF9FUkFTRTEpOworCQkJTmFuRF9BZGRyZXNzKG5hbmQsIEFERFJfUEFHRSwgb2ZzKTsKKwkJCU5hbkRfQ29tbWFuZChuYW5kLCBOQU5EX0NNRF9FUkFTRTIpOwogCi0JCWlmIChSRUFEX05BTkQobmFuZHB0cikgJiAxKSB7Ci0JCQlwcmludGYgKCIlczogRXJyb3IgZXJhc2luZyBhdCAweCVseFxuIiwKLQkJCQlfX0ZVTkNUSU9OX18sIChsb25nKW9mcyk7Ci0JCQkvKiBUaGVyZSB3YXMgYW4gZXJyb3IgKi8KLQkJCXJldCA9IC0xOwotCQkJZ290byBvdXQ7CisJCQlOYW5EX0NvbW1hbmQobmFuZCwgTkFORF9DTURfU1RBVFVTKTsKKworCQkJaWYgKFJFQURfTkFORChuYW5kcHRyKSAmIDEpIHsKKwkJCQlwcmludGYgKCIlczogRXJyb3IgZXJhc2luZyBhdCAweCVseFxuIiwKKwkJCQkJX19GVU5DVElPTl9fLCAobG9uZylvZnMpOworCQkJCS8qIFRoZXJlIHdhcyBhbiBlcnJvciAqLworCQkJCXJldCA9IC0xOworCQkJCWdvdG8gb3V0OworCQkJfQorCQkJaWYgKGNsZWFuKSB7CisJCQkJaW50IG47CS8qIHJldHVybiB2YWx1ZSBub3QgdXNlZCAqLworCQkJCWludCBwLCBsOworCisJCQkJLyogY2xlYW4gbWFya2VyIHBvc2l0aW9uIGFuZCBzaXplIGRlcGVuZAorCQkJCSAqIG9uIHRoZSBwYWdlIHNpemUsIHNpbmNlIDI1NiBieXRlIHBhZ2VzCisJCQkJICogb25seSBoYXZlIDggYnl0ZXMgb2Ygb29iIGRhdGEKKwkJCQkgKi8KKwkJCQlpZiAobmFuZC0+cGFnZTI1NikgeworCQkJCQlwID0gTkFORF9KRkZTMl9PT0I4X0ZTREFQT1M7CisJCQkJCWwgPSBOQU5EX0pGRlMyX09PQjhfRlNEQUxFTjsKKwkJCQl9CisJCQkJZWxzZSB7CisJCQkJCXAgPSBOQU5EX0pGRlMyX09PQjE2X0ZTREFQT1M7CisJCQkJCWwgPSBOQU5EX0pGRlMyX09PQjE2X0ZTREFMRU47CisJCQkJfQorCisJCQkJcmV0ID0gbmFuZF93cml0ZV9vb2IobmFuZCwgb2ZzICsgcCwgbCwgJm4sCisJCQkJCQkgICAgICh1X2NoYXIgKikmY2xlYW5fbWFya2VyKTsKKwkJCQkvKiBxdWl0IGhlcmUgaWYgd3JpdGUgZmFpbGVkICovCisJCQkJaWYgKHJldCkKKwkJCQkJZ290byBvdXQ7CisJCQl9CiAJCX0KIAkJb2ZzICs9IG5hbmQtPmVyYXNlc2l6ZTsKIAkJbGVuIC09IG5hbmQtPmVyYXNlc2l6ZTsKQEAgLTEzNDYsNyArMTM0Niw2IEBACiAJb29iX2NvbmZpZy5lY2NfcG9zWzNdID0gTkFORF9KRkZTMl9PT0JfRUNDUE9TMzsKIAlvb2JfY29uZmlnLmVjY19wb3NbNF0gPSBOQU5EX0pGRlMyX09PQl9FQ0NQT1M0OwogCW9vYl9jb25maWcuZWNjX3Bvc1s1XSA9IE5BTkRfSkZGUzJfT09CX0VDQ1BPUzU7Ci0Jb29iX2NvbmZpZy5iYWRibG9ja19wb3MgPSA1OwogCW9vYl9jb25maWcuZWNjdmFsaWRfcG9zID0gNDsKICNlbHNlCiAJb29iX2NvbmZpZy5lY2NfcG9zWzBdID0gTkFORF9OT09CX0VDQ1BPUzA7CkBAIC0xMzU1LDkgKzEzNTQsOSBAQAogCW9vYl9jb25maWcuZWNjX3Bvc1szXSA9IE5BTkRfTk9PQl9FQ0NQT1MzOwogCW9vYl9jb25maWcuZWNjX3Bvc1s0XSA9IE5BTkRfTk9PQl9FQ0NQT1M0OwogCW9vYl9jb25maWcuZWNjX3Bvc1s1XSA9IE5BTkRfTk9PQl9FQ0NQT1M1OwotCW9vYl9jb25maWcuYmFkYmxvY2tfcG9zID0gTkFORF9OT09CX0JBREJQT1M7CiAJb29iX2NvbmZpZy5lY2N2YWxpZF9wb3MgPSBOQU5EX05PT0JfRUNDVlBPUzsKICNlbmRpZgorCW9vYl9jb25maWcuYmFkYmxvY2tfcG9zID0gNTsKIAogCWZvciAoaT0wOyBpPENGR19NQVhfTkFORF9ERVZJQ0U7IGkrKykgewogCQlpZiAobmFuZF9kZXZfZGVzY1tpXS5DaGlwSUQgPT0gTkFORF9DaGlwSURfVU5LTk9XTikgewpAQCAtMTM2NiwxNSArMTM2NSwyMyBAQAogCQl9CiAJfQogCisJbWVtc2V0KChjaGFyICopbmFuZCwgMCwgc2l6ZW9mKHN0cnVjdCBuYW5kX2NoaXApKTsKKworCW5hbmQtPklPX0FERFIgPSBwaHlzYWRyOworCW5hbmQtPmNhY2hlX3BhZ2UgPSAtMTsgIC8qIGluaXQgdGhlIGNhY2hlIHBhZ2UgKi8KKwlOYW5EX1NjYW5DaGlwcyhuYW5kKTsKKworCWlmIChuYW5kLT50b3RsZW4gPT0gMCkgeworCQkvKiBubyBjaGlwcyBmb3VuZCwgY2xlYW4gdXAgYW5kIHF1aXQgKi8KKwkJbWVtc2V0KChjaGFyICopbmFuZCwgMCwgc2l6ZW9mKHN0cnVjdCBuYW5kX2NoaXApKTsKKwkJbmFuZC0+Q2hpcElEID0gTkFORF9DaGlwSURfVU5LTk9XTjsKKwkJcmV0dXJuOworCX0KKworCW5hbmQtPkNoaXBJRCA9IENoaXBJRDsKIAlpZiAoY3Vycl9kZXZpY2UgPT0gLTEpCiAJCWN1cnJfZGV2aWNlID0gaTsKIAotCW1lbXNldCgoY2hhciAqKW5hbmQsIDAsIHNpemVvZihzdHJ1Y3QgbmFuZF9jaGlwKSk7Ci0KLQluYW5kLT5jYWNoZV9wYWdlID0gLTE7ICAvKiBpbml0IHRoZSBjYWNoZSBwYWdlICovCi0JbmFuZC0+SU9fQUREUiA9IHBoeXNhZHI7Ci0JbmFuZC0+Q2hpcElEID0gQ2hpcElEOwotCU5hbkRfU2NhbkNoaXBzKG5hbmQpOwogCW5hbmQtPmRhdGFfYnVmID0gbWFsbG9jIChuYW5kLT5vb2JibG9jayArIG5hbmQtPm9vYnNpemUpOwogCWlmICghbmFuZC0+ZGF0YV9idWYpIHsKIAkJcHV0cyAoIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkgZm9yIGRhdGEgc3RydWN0dXJlcy5cbiIpOwpAQCAtMTQ1MSwxMSArMTQ1OCwxMSBAQAogICovCiBzdGF0aWMgdm9pZCBuYW5kX2NhbGN1bGF0ZV9lY2MgKGNvbnN0IHVfY2hhciAqZGF0LCB1X2NoYXIgKmVjY19jb2RlKQogewotCXVfY2hhciBpZHgsIHJlZzEsIHJlZzIsIHJlZzM7CisJdV9jaGFyIGlkeCwgcmVnMSwgcmVnMzsKIAlpbnQgajsKIAogCS8qIEluaXRpYWxpemUgdmFyaWFibGVzICovCi0JcmVnMSA9IHJlZzIgPSByZWczID0gMDsKKwlyZWcxID0gcmVnMyA9IDA7CiAJZWNjX2NvZGVbMF0gPSBlY2NfY29kZVsxXSA9IGVjY19jb2RlWzJdID0gMDsKIAogCS8qIEJ1aWxkIHVwIGNvbHVtbiBwYXJpdHkgKi8KQEAgLTE0NjMsMTcgKzE0NzAsMTYgQEAKIAogCQkvKiBHZXQgQ1AwIC0gQ1A1IGZyb20gdGFibGUgKi8KIAkJaWR4ID0gbmFuZF9lY2NfcHJlY2FsY190YWJsZVtkYXRbal1dOwotCQlyZWcxIF49IChpZHggJiAweDNmKTsKKwkJcmVnMSBePSBpZHg7CiAKIAkJLyogQWxsIGJpdCBYT1IgPSAxID8gKi8KIAkJaWYgKGlkeCAmIDB4NDApIHsKIAkJCXJlZzMgXj0gKHVfY2hhcikgajsKLQkJCXJlZzIgXj0gfigodV9jaGFyKSBqKTsKIAkJfQogCX0KIAogCS8qIENyZWF0ZSBub24taW52ZXJ0ZWQgRUNDIGNvZGUgZnJvbSBsaW5lIHBhcml0eSAqLwotCW5hbmRfdHJhbnNfcmVzdWx0KHJlZzIsIHJlZzMsIGVjY19jb2RlKTsKKwluYW5kX3RyYW5zX3Jlc3VsdCgocmVnMSAmIDB4NDApID8gfnJlZzMgOiByZWczLCByZWczLCBlY2NfY29kZSk7CiAKIAkvKiBDYWxjdWxhdGUgZmluYWwgRUNDIGNvZGUgKi8KIAllY2NfY29kZVswXSA9IH5lY2NfY29kZVswXTsKZGlmZiAtLWdpdCBhL2NvbW1vbi9jbWRfcG9ydGlvLmMgYi9jb21tb24vY21kX3BvcnRpby5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmYTM5ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9jb21tb24vY21kX3BvcnRpby5jCkBAIC0wLDAgKzEsMTU3IEBACisvKgorICogKEMpIENvcHlyaWdodCAyMDAzCisgKiBNYXJjIFNpbmdlciwgZWxmQGJ1aWNpLmNvbQorICoKKyAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCisgKiBwcm9qZWN0LgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sCisgKiBNQSAwMjExMS0xMzA3IFVTQQorICovCisKKy8qCisgKiBQb3J0IEkvTyBGdW5jdGlvbnMKKyAqCisgKiBDb3BpZWQgZnJvbSBGQURTIFJPTSwgRGFuIE1hbGVrIChkbWFsZWtAamxjLm5ldCkKKyAqLworCisjaW5jbHVkZSA8Y29tbW9uLmg+CisjaW5jbHVkZSA8Y29tbWFuZC5oPgorI2luY2x1ZGUgPGNtZF9wb3J0aW8uaD4KKworI2lmIChDT05GSUdfQ09NTUFORFMgJiBDRkdfQ01EX1BPUlRJTykKKworZXh0ZXJuIGludCBjbWRfZ2V0X2RhdGFfc2l6ZSAoY2hhciAqYXJnLCBpbnQgZGVmYXVsdF9zaXplKTsKKworLyogRGlzcGxheSB2YWx1ZXMgZnJvbSBsYXN0IGNvbW1hbmQuCisgKiBNZW1vcnkgbW9kaWZ5IHJlbWVtYmVyZWQgdmFsdWVzIGFyZSBkaWZmZXJlbnQgZnJvbSBkaXNwbGF5IG1lbW9yeS4KKyAqLworc3RhdGljIHVpbnQgaW5fbGFzdF9hZGRyLCBpbl9sYXN0X3NpemU7CitzdGF0aWMgdWludCBvdXRfbGFzdF9hZGRyLCBvdXRfbGFzdF9zaXplLCBvdXRfbGFzdF92YWx1ZTsKKworCitpbnQgZG9fcG9ydGlvX291dCAoY21kX3RibF90ICogY21kdHAsIGludCBmbGFnLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXVpbnQgYWRkciA9IG91dF9sYXN0X2FkZHI7CisJdWludCBzaXplID0gb3V0X2xhc3Rfc2l6ZTsKKwl1aW50IHZhbHVlID0gb3V0X2xhc3RfdmFsdWU7CisKKwlpZiAoYXJnYyAhPSAzKSB7CisJCXByaW50ZiAoIlVzYWdlOlxuJXNcbiIsIGNtZHRwLT51c2FnZSk7CisJCXJldHVybiAxOworCX0KKworCWlmICgoZmxhZyAmIENNRF9GTEFHX1JFUEVBVCkgPT0gMCkgeworCQkvKiBOZXcgY29tbWFuZCBzcGVjaWZpZWQuICBDaGVjayBmb3IgYSBzaXplIHNwZWNpZmljYXRpb24uCisJCSAqIERlZmF1bHRzIHRvIGxvbmcgaWYgbm8gb3IgaW5jb3JyZWN0IHNwZWNpZmljYXRpb24uCisJCSAqLworCQlzaXplID0gY21kX2dldF9kYXRhX3NpemUgKGFyZ3ZbMF0sIDEpOworCQlhZGRyID0gc2ltcGxlX3N0cnRvdWwgKGFyZ3ZbMV0sIE5VTEwsIDE2KTsKKwkJdmFsdWUgPSBzaW1wbGVfc3RydG91bCAoYXJndlsyXSwgTlVMTCwgMTYpOworCX0KKyNpZiBkZWZpbmVkIChDT05GSUdfWDg2KQorCisJeworCQl1bnNpZ25lZCBzaG9ydCBwb3J0ID0gYWRkcjsKKworCQlzd2l0Y2ggKHNpemUpIHsKKwkJZGVmYXVsdDoKKwkJY2FzZSAxOgorCQkgICAgeworCQkJdW5zaWduZWQgY2hhciBjaCA9IHZhbHVlOworCQkJX19hc21fXyB2b2xhdGlsZSAoIm91dCAlMCwgJSVkeCI6OiJhIiAoY2gpLCAiZCIgKHBvcnQpKTsKKwkJICAgIH0KKwkJCWJyZWFrOworCQljYXNlIDI6CisJCSAgICB7CisJCQl1bnNpZ25lZCBzaG9ydCB3ID0gdmFsdWU7CisJCQlfX2FzbV9fIHZvbGF0aWxlICgib3V0ICUwLCAlJWR4Ijo6ImEiICh3KSwgImQiIChwb3J0KSk7CisJCSAgICB9CisJCQlicmVhazsKKwkJY2FzZSA0OgorCQkJX19hc21fXyB2b2xhdGlsZSAoIm91dCAlMCwgJSVkeCI6OiJhIiAodmFsdWUpLCAiZCIgKHBvcnQpKTsKKworCQkJYnJlYWs7CisJCX0KKwl9CisKKyNlbmRpZgkJCQkJCQkvKiBDT05GSUdfWDg2ICovCisKKwlvdXRfbGFzdF9hZGRyID0gYWRkcjsKKwlvdXRfbGFzdF9zaXplID0gc2l6ZTsKKwlvdXRfbGFzdF92YWx1ZSA9IHZhbHVlOworCisJcmV0dXJuIDA7Cit9CisKK2ludCBkb19wb3J0aW9faW4gKGNtZF90YmxfdCAqIGNtZHRwLCBpbnQgZmxhZywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwl1aW50IGFkZHIgPSBpbl9sYXN0X2FkZHI7CisJdWludCBzaXplID0gaW5fbGFzdF9zaXplOworCisJaWYgKGFyZ2MgIT0gMikgeworCQlwcmludGYgKCJVc2FnZTpcbiVzXG4iLCBjbWR0cC0+dXNhZ2UpOworCQlyZXR1cm4gMTsKKwl9CisKKwlpZiAoKGZsYWcgJiBDTURfRkxBR19SRVBFQVQpID09IDApIHsKKwkJLyogTmV3IGNvbW1hbmQgc3BlY2lmaWVkLiAgQ2hlY2sgZm9yIGEgc2l6ZSBzcGVjaWZpY2F0aW9uLgorCQkgKiBEZWZhdWx0cyB0byBsb25nIGlmIG5vIG9yIGluY29ycmVjdCBzcGVjaWZpY2F0aW9uLgorCQkgKi8KKwkJc2l6ZSA9IGNtZF9nZXRfZGF0YV9zaXplIChhcmd2WzBdLCAxKTsKKwkJYWRkciA9IHNpbXBsZV9zdHJ0b3VsIChhcmd2WzFdLCBOVUxMLCAxNik7CisJfQorI2lmIGRlZmluZWQgKENPTkZJR19YODYpCisKKwl7CisJCXVuc2lnbmVkIHNob3J0IHBvcnQgPSBhZGRyOworCisJCXN3aXRjaCAoc2l6ZSkgeworCQlkZWZhdWx0OgorCQljYXNlIDE6CisJCSAgICB7CisJCQl1bnNpZ25lZCBjaGFyIGNoOworCQkJX19hc21fXyB2b2xhdGlsZSAoImluICUlZHgsICUwIjoiPWEiIChjaCk6ImQiIChwb3J0KSk7CisKKwkJCXByaW50ZiAoIiAlMDJ4XG4iLCBjaCk7CisJCSAgICB9CisJCQlicmVhazsKKwkJY2FzZSAyOgorCQkgICAgeworCQkJdW5zaWduZWQgc2hvcnQgdzsKKwkJCV9fYXNtX18gdm9sYXRpbGUgKCJpbiAlJWR4LCAlMCI6Ij1hIiAodyk6ImQiIChwb3J0KSk7CisKKwkJCXByaW50ZiAoIiAlMDR4XG4iLCB3KTsKKwkJICAgIH0KKwkJCWJyZWFrOworCQljYXNlIDQ6CisJCSAgICB7CisJCQl1bnNpZ25lZCBsb25nIGw7CisJCQlfX2FzbV9fIHZvbGF0aWxlICgiaW4gJSVkeCwgJTAiOiI9YSIgKGwpOiJkIiAocG9ydCkpOworCisJCQlwcmludGYgKCIgJTA4bHhcbiIsIGwpOworCQkgICAgfQorCQkJYnJlYWs7CisJCX0KKwl9CisjZW5kaWYJLyogQ09ORklHX1g4NiAqLworCisJaW5fbGFzdF9hZGRyID0gYWRkcjsKKwlpbl9sYXN0X3NpemUgPSBzaXplOworCisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZgkvKiBDRkdfQ01EX1BPUlRJTyAqLwpkaWZmIC0tZ2l0IGEvY29tbW9uL2NvbW1hbmQuYyBiL2NvbW1vbi9jb21tYW5kLmMKaW5kZXggZGMyZmNiMS4uOWU2MzFmMSAxMDA2NDQKLS0tIGEvY29tbW9uL2NvbW1hbmQuYworKysgYi9jb21tb24vY29tbWFuZC5jCkBAIC03Myw2ICs3Myw3IEBACiAjaW5jbHVkZSA8Y21kX2xvZy5oPgogI2luY2x1ZGUgPGNtZF9mZG9zLmg+CiAjaW5jbHVkZSA8Y21kX2JtcC5oPgorI2luY2x1ZGUgPGNtZF9wb3J0aW8uaD4KIAogI2lmZGVmIENPTkZJR19BTUlHQU9ORUczU0UKICNpbmNsdWRlIDxjbWRfbWVudS5oPgpAQCAtMjg0LDYgKzI4NSw3IEBACiAJQ01EX1RCTF9JTU0KIAlDTURfVEJMX0lOTQogCUNNRF9UQkxfSU1XCisJQ01EX1RCTF9QT1JUSU9fSU4KIAlDTURfVEJMX0lDUkMKIAlDTURfVEJMX0lQUk9CRQogCUNNRF9UQkxfSUxPT1AKQEAgLTMxNCw2ICszMTYsNyBAQAogCUNNRF9UQkxfTkFOREJPT1QKIAlDTURfVEJMX05FWFQKIAlDTURfVEJMX05NCisJQ01EX1RCTF9QT1JUSU9fT1VUCiAJQ01EX1RCTF9QQ0kKIAlDTURfVEJMX1BSSU5URU5WCiAJQ01EX1RCTF9QUk9URUNUCmRpZmYgLS1naXQgYS9jcHUvaTM4Ni9NYWtlZmlsZSBiL2NwdS9pMzg2L01ha2VmaWxlCmluZGV4IDE0ODIzOTguLjcwNjdhMDYgMTAwNjQ0Ci0tLSBhL2NwdS9pMzg2L01ha2VmaWxlCisrKyBiL2NwdS9pMzg2L01ha2VmaWxlCkBAIC0yNiwxNyArMjYsMTggQEAKIExJQgk9IGxpYiQoQ1BVKS5hCiAKIFNUQVJUCT0gc3RhcnQubyBzdGFydDE2Lm8gcmVzZXQubyAKLU9CSlMJPSBzZXJpYWwubyBpbnRlcnJ1cHRzLm8gY3B1Lm8gdGltZXIubwotCSAgCitDT0JKUwk9IHNlcmlhbC5vIGludGVycnVwdHMubyBjcHUubyB0aW1lci5vIHNjNTIwLm8gCitBT0JKUwk9IHNjNTIwX2FzbS5vCisJCiBhbGw6CS5kZXBlbmQgJChTVEFSVCkgJChMSUIpCiAKLSQoTElCKToJJChPQkpTKQotCSQoQVIpIGNydiAkQCAkKE9CSlMpCiskKExJQik6CSQoQ09CSlMpICQoQU9CSlMpCisJJChBUikgY3J2ICRAICQoQ09CSlMpICQoQU9CSlMpCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAotLmRlcGVuZDoJTWFrZWZpbGUgJChTVEFSVDoubz0uUykgJChPQkpTOi5vPS5jKQotCQkkKENDKSAtTSAkKENGTEFHUykgJChTVEFSVDoubz0uUykgJChPQkpTOi5vPS5jKSA+ICRACisuZGVwZW5kOglNYWtlZmlsZSAkKFNUQVJUOi5vPS5TKSAkKENPQkpTOi5vPS5jKSAkKEFPQkpTOi5vPS5TKQorCQkkKENDKSAtTSAkKENGTEFHUykgJChTVEFSVDoubz0uUykgJChDT0JKUzoubz0uYykgJChBT0JKUzoubz0uUykgPiAkQAogCiBzaW5jbHVkZSAuZGVwZW5kCiAKZGlmZiAtLWdpdCBhL2NwdS9pMzg2L2NvbmZpZy5tayBiL2NwdS9pMzg2L2NvbmZpZy5tawppbmRleCA3MGNhZWIyLi5jN2NmMTUxIDEwMDY0NAotLS0gYS9jcHUvaTM4Ni9jb25maWcubWsKKysrIGIvY3B1L2kzODYvY29uZmlnLm1rCkBAIC0yMSw2ICsyMSw2IEBACiAjIE1BIDAyMTExLTEzMDcgVVNBCiAjCiAKLVBMQVRGT1JNX1JFTEZMQUdTICs9ICMgLXBpcGUgLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnk9MiAtZm5vLWJ1aWx0aW4gLW5vc3RkaW5jIC1ub3N0ZGxpYgorUExBVEZPUk1fUkVMRkxBR1MgKz0gCiAKLVBMQVRGT1JNX0NQUEZMQUdTICs9IC1tYXJjaD1pMzg2CitQTEFURk9STV9DUFBGTEFHUyArPSAtbWFyY2g9aTM4NiAtV2Vycm9yCmRpZmYgLS1naXQgYS9jcHUvaTM4Ni9jcHUuYyBiL2NwdS9pMzg2L2NwdS5jCmluZGV4IDY2OTgyM2YuLjNjNjdjMTIgMTAwNjQ0Ci0tLSBhL2NwdS9pMzg2L2NwdS5jCisrKyBiL2NwdS9pMzg2L2NwdS5jCkBAIC0zOCw2ICszOCwxMyBAQAogCiBpbnQgY3B1X2luaXQodm9pZCkKIHsKKwkvKiBpbml0aWFsaXplIEZQVSwgcmVzZXQgRU0sIHNldCBNUCBhbmQgTkUgKi8KKwlhc20gKCJmbmluaXRcbiIgXAorICAgICAgICAgICAgICJtb3ZsICVjcjAsICVlYXhcbiIgXAorICAgICAgICAgICAgICJhbmRsICR+MHg0LCAlZWF4XG4iIFwKKyAgICAgICAgICAgICAib3JsICAkMHgyMiwgJWVheFxuIiBcCisgICAgICAgICAgICAgIm1vdmwgJWVheCwgJWNyMFxuIiApOworCQogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9jcHUvaTM4Ni9pbnRlcnJ1cHRzLmMgYi9jcHUvaTM4Ni9pbnRlcnJ1cHRzLmMKaW5kZXggODFkNjg4MS4uNjE0ZDQwOCAxMDA2NDQKLS0tIGEvY3B1L2kzODYvaW50ZXJydXB0cy5jCisrKyBiL2NwdS9pMzg2L2ludGVycnVwdHMuYwpAQCAtMjksMjIgKzI5LDYgQEAKICNpbmNsdWRlIDxhc20vaWJtcGMuaD4KIAogCi0jaWYgMAotLyogZG9uZSAqLwotaW50CWludGVycnVwdF9pbml0ICAgICAodm9pZCk7Ci12b2lkCWlycV9pbnN0YWxsX2hhbmRsZXIoaW50LCBpbnRlcnJ1cHRfaGFuZGxlcl90ICosIHZvaWQgKik7Ci12b2lkCWlycV9mcmVlX2hhbmRsZXIgICAoaW50KTsKLXZvaWQJZW5hYmxlX2ludGVycnVwdHMgICh2b2lkKTsKLWludAlkaXNhYmxlX2ludGVycnVwdHMgKHZvaWQpOwotCi0vKiB0b2RvICovCi12b2lkCXRpbWVyX2ludGVycnVwdCAgICAoc3RydWN0IHB0X3JlZ3MgKik7Ci12b2lkCWV4dGVybmFsX2ludGVycnVwdCAoc3RydWN0IHB0X3JlZ3MgKik7Ci12b2lkCXJlc2V0X3RpbWVyCSAgICh2b2lkKTsKLXVsb25nCWdldF90aW1lcgkgICAodWxvbmcgYmFzZSk7Ci12b2lkCXNldF90aW1lcgkgICAodWxvbmcgdCk7Ci0KLSNlbmRpZgogCiBzdHJ1Y3QgaWR0X2VudHJ5IHsKIAl1MTYJYmFzZV9sb3c7CkBAIC03Niw0MyArNjAsMzAgQEAKIHN0YXRpYyBpcnFfZGVzY190IGlycV90YWJsZVtNQVhfSVJRXTsKIAogCi0vKiBzeXNjYWxsIHN0dWZmLCB2ZXJ5IHVudGVzdGVkIAotICogdGhlIGN1cnJlbnQgYXBwcm9hY2ggd2hpY2ggaW5jbHVkZXMgY29weWluZwotICogcGFydCBvZiB0aGUgc3RhY2sgd2lsbCB3b3JrIGJhZGx5IGZvciAKLSAqIHZhcmFyZ3MgZnVuY3Rpb25zLgotICogaWYgd2Ugd2VyZSB0byBzdG9yZSB0aGUgdG9wIHRocmVlIHdvcmRzIG9uIHRoZQotICogc3RhY2sgKGVpcCwgc3MsIGVmbGFncykgc29td2hlcmUgYW5kIGFkZCAxNCB0bwotICogJWVzcCAuLi4uCi0gKi8KKwogYXNtKCIuZ2xvYmwgc3lzY2FsbF9lbnRyeVxuIiBcCiAgICAgICAgICJzeXNjYWxsX2VudHJ5OlxuIiBcCi0gICAgICAgICJtb3ZsICAgMTIoJWVzcCksICVlYXhcbiIgXAotCSJtb3ZsICAgJWVzcCwgJWVieFxuIiBcCi0gICAgICAgICJhZGRsICAgJDE2LCAlZWJ4XG4iIFwKLSAgICAgICAgInB1c2hsICAlZWJ4XG4iIFwKLSAgICAgICAgInB1c2hsICAlZWF4XG4iIFwKLSAgICAgICAgImNhbGwgICBkb19zeXNjYWxsXG4iIFwKLSAgICAgICAgImFkZGwgICAkOCwgJWVzcFxuIiBcCi0gICAgICAgICJpcmV0XG4iKTsKKyAgICAgICAgInBvcGwgICAlZWJ4XG4iICAgICAgICAvKiB0aHJvdyBhd2F5IHRoZSByZXR1cm4gYWRkcmVzcywgZmxhZ3MgICovIFwKKyAgICAgICAgInBvcGwgICAlZWJ4XG4iICAgICAgICAvKiBhbmQgc2VnbWVudCB0aGF0IHRoZSBJTlQgaW5zdHJ1Y3Rpb24gcHVzaGVkICovIFwKKyAgICAgICAgInBvcGwgICAlZWJ4XG4iICAgICAgICAvKiBvbiB0byB0aGUgc3RhY2sgKi8gXAorICAgICAgICAibW92bCAgICVlYXgsICVlY3hcbiIgIC8qIGxvYWQgdGhlIHN5c2NhbGwgbnIgYXJndW1lbnQqLyBcCisgICAgICAgICJtb3ZsICAgc3lzY2FsbF90YmwsICVlYXhcbiIgLyogbG9hZCBzdGFydCBvZiBzeXNjYWxsIHRhYmxlICovIFwKKyAgICAgICAgImNtcGwgICAkKDExLTEpLCAlZWN4XG4iICAvKiBGaXhNZTogZmluZCBhIHdheSB0byB1c2UgTlJfU1lTQ0FMTFMgbWFjcm8gaGVyZSAqLyBcCisgICAgICAgICJqYSAgICAgYmFkX3N5c2NhbGxcbiIgXAorICAgICAgICAibW92bCAgICglZWF4LCAlZWN4LCA0KSwgJWVheFxuIiAvKiBsb2FkIHRoZSBoYW5kbGVyIG9mIHRoZSBzeXNjYWxsKi8gXAorICAgICAgICAidGVzdCAgICVlYXgsICVlYXhcbiIgLyogdGVzdCBmb3IgbnVsbCAqLyBcCisgICAgICAgICJqZSAgICAgYmFkX3N5c2NhbGxcbiIgXAorICAgICAgICAicG9wbCAgICVlY3hcbiIgXAorICAgICAgICAicG9wbCAgICVlYnhcbiIgXAorICAgICAgICAic3RpICAgIFxuIiBcCisgICAgICAgICJqbXAgICAgKiVlYXhcbiIgXAorImJhZF9zeXNjYWxsOiBtb3ZsICQweGZmZmZmZmZmLCAlZWF4XG4iIFwKKyAgICAgICAgInBvcGwgICAlZWN4XG4iIFwKKyAgICAgICAgInBvcGwgICAlZWJ4XG4iIFwKKyAgICAgICAgInJldCIpOwogCiB2b2lkIF9fYXR0cmlidXRlX18gKChyZWdwYXJtKDApKSkgc3lzY2FsbF9lbnRyeSh2b2lkKTsKIAotaW50IF9fYXR0cmlidXRlX18gKChyZWdwYXJtKDApKSkgZG9fc3lzY2FsbCh1MzIgbnIsIHUzMiAqc3RhY2spCi17Ci0JaWYgKG5yPE5SX1NZU0NBTExTKSB7Ci0JCS8qIFdlIGNvcHkgOCBhcmdzIG9mIHRoZSBzeXNjYWxsLAotCQkgKiB0aGlzIHdpbGwgYmUgYSBwcm9ibGVtIHdpdGggdGhlIAotCQkgKiBwcmludGYgc3lzY2FsbCAuLi4uICovCi0JCWludCAoKmZwKSh1MzIsIHUzMiwgdTMyLCB1MzIsCi0JCQkgIHUzMiwgdTMyLCB1MzIsIHUzMik7Ci0JCWZwID0gc3lzY2FsbF90YmxbbnJdOwotCQlyZXR1cm4gZnAoc3RhY2tbMF0sIHN0YWNrWzFdLCBzdGFja1syXSwgc3RhY2tbM10sCi0JCQkJCSAgICAgc3RhY2tbNF0sIHN0YWNrWzVdLCBzdGFja1s2XSwgc3RhY2tbN10pOwotCX0KLQkKLQlyZXR1cm4gLTE7Ci19Ci0JCiAKIGFzbSAoImlycV9yZXR1cm46XG4iCiAgICAgICIgICAgIGFkZGwgICQ0LCAlZXNwXG4iCmRpZmYgLS1naXQgYS9saWJfaTM4Ni9pYy9zYzUyMC5jIGIvY3B1L2kzODYvc2M1MjAuYwpzaW1pbGFyaXR5IGluZGV4IDY4JQpyZW5hbWUgZnJvbSBsaWJfaTM4Ni9pYy9zYzUyMC5jCnJlbmFtZSB0byBjcHUvaTM4Ni9zYzUyMC5jCmluZGV4IGQyMDI2MjUuLjUwMDA4OWEgMTAwNjQ0Ci0tLSBhL2xpYl9pMzg2L2ljL3NjNTIwLmMKKysrIGIvY3B1L2kzODYvc2M1MjAuYwpAQCAtMjQsMTAgKzI0LDE0IEBACiAvKiBzdHVmZiBzcGVjaWZpYyBmb3IgdGhlIHNjNTIwLAogICogYnV0IGlkZXBlbmRlbnQgb2YgaW1wbGVtZW50YXRpb24gKi8KIAorI2luY2x1ZGUgPGNvbmZpZy5oPgorCisjaWZkZWYgQ09ORklHX1NDNTIwCiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxjb25maWcuaD4KICNpbmNsdWRlIDxwY2kuaD4KKyNpbmNsdWRlIDxzc2kuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vcGNpLmg+CiAjaW5jbHVkZSA8YXNtL2ljL3NjNTIwLmg+CkBAIC0yMzUsNiArMjM5LDkxIEBACiAjaWZkZWYgQ09ORklHX1BDSQogCiAKK3N0YXRpYyBzdHJ1Y3QgeworCXU4IHByaW9yaXR5OworCXUxNiBsZXZlbF9yZWc7CisJdTggbGV2ZWxfYml0OworfSBzYzUyMF9pcnFbXSA9IHsKKwl7IFNDNTIwX0lSUTAsICBTQzUyMF9NUElDTU9ERSwgIDB4MDEgfSwKKwl7IFNDNTIwX0lSUTEsICBTQzUyMF9NUElDTU9ERSwgIDB4MDIgfSwKKwl7IFNDNTIwX0lSUTIsICBTQzUyMF9TTDFQSUNNT0RFLCAweDAyIH0sCisJeyBTQzUyMF9JUlEzLCAgU0M1MjBfTVBJQ01PREUsICAweDA4IH0sCisJeyBTQzUyMF9JUlE0LCAgU0M1MjBfTVBJQ01PREUsICAweDEwIH0sCisJeyBTQzUyMF9JUlE1LCAgU0M1MjBfTVBJQ01PREUsICAweDIwIH0sCisJeyBTQzUyMF9JUlE2LCAgU0M1MjBfTVBJQ01PREUsICAweDQwIH0sCisJeyBTQzUyMF9JUlE3LCAgU0M1MjBfTVBJQ01PREUsICAweDgwIH0sCisKKwl7IFNDNTIwX0lSUTgsICBTQzUyMF9TTDFQSUNNT0RFLCAweDAxIH0sCisJeyBTQzUyMF9JUlE5LCAgU0M1MjBfU0wxUElDTU9ERSwgMHgwMiB9LAorCXsgU0M1MjBfSVJRMTAsIFNDNTIwX1NMMVBJQ01PREUsIDB4MDQgfSwKKwl7IFNDNTIwX0lSUTExLCBTQzUyMF9TTDFQSUNNT0RFLCAweDA4IH0sCisJeyBTQzUyMF9JUlExMiwgU0M1MjBfU0wxUElDTU9ERSwgMHgxMCB9LAorCXsgU0M1MjBfSVJRMTMsIFNDNTIwX1NMMVBJQ01PREUsIDB4MjAgfSwKKwl7IFNDNTIwX0lSUTE0LCBTQzUyMF9TTDFQSUNNT0RFLCAweDQwIH0sCisJeyBTQzUyMF9JUlExNSwgU0M1MjBfU0wxUElDTU9ERSwgMHg4MCB9Cit9OworCisKKy8qIFRoZSBpbnRlcnJ1cHQgdXNlZCBmb3IgUENJIElOVEEtSU5URCAgKi8KK2ludCBzYzUyMF9wY2lfaW50c1sxNV0gPSB7IAorCS0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKwkJLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEKK307CisKKy8qIHV0aWxpdHkgZnVuY3Rpb24gdG8gY29uZmlndXJlIGEgcGNpIGludGVycnVwdCAqLworaW50IHBjaV9zYzUyMF9zZXRfaXJxKGludCBwY2lfcGluLCBpbnQgaXJxKSAKK3sKKwlpbnQgaTsKKwkKKyMgaWYgMAorCXByaW50Zigic2V0X2lycSgpOiBtYXAgSU5UJWMgdG8gSVJRJWRcbiIsIHBjaV9waW4gKyAnQScsIGlycSk7CisjZW5kaWYJCisJaWYgKGlycSA8IDAgfHwgaXJxID4gMTUpIHsKKwkJcmV0dXJuIC0xOyAvKiBpbGxlZ2FsIGlycSAqLworCX0KKworCWlmIChwY2lfcGluIDwgMCB8fCBwY2lfcGluID4gMTUpIHsKKwkJcmV0dXJuIC0xOyAvKiBpbGxlZ2FsIHBjaSBpbnQgcGluICovCisJfQorCisJLyogZmlyc3QgZGlzYWJsZSBhbnkgbm9uLXBjaSBpbnRlcnJ1cHQgc291cmNlIHRoYXQgdXNlIAorCSAqIHRoaXMgbGV2ZWwgKi8KKwlmb3IgKGk9U0M1MjBfR1BUTVIwTUFQO2k8PVNDNTIwX0dQMTBJTUFQO2krKykgeworCQlpZiAoaT49U0M1MjBfUENJSU5UQU1BUCYmaTw9U0M1MjBfUENJSU5URE1BUCkgeworCQkJY29udGludWU7CisJCX0KKwkJaWYgKHJlYWRfbW1jcl9ieXRlKGkpID09IHNjNTIwX2lycVtpcnFdLnByaW9yaXR5KSB7CisJCQl3cml0ZV9tbWNyX2J5dGUoaSwgU0M1MjBfSVJRX0RJU0FCTEVEKTsKKwkJfQorCX0KKwkKKwkvKiBTZXQgdGhlIHRyaWdnZXIgdG8gbGV2ZWwgKi8KKwl3cml0ZV9tbWNyX2J5dGUoc2M1MjBfaXJxW2lycV0ubGV2ZWxfcmVnLCAKKwkJCXJlYWRfbW1jcl9ieXRlKHNjNTIwX2lycVtpcnFdLmxldmVsX3JlZykgfCBzYzUyMF9pcnFbaXJxXS5sZXZlbF9iaXQpOworCQorCQorCWlmIChwY2lfcGluIDwgNCkgeworCQkvKiBQQ0kgSU5UQS1JTlREICovCisJCS8qIHJvdXRlIHRoZSBpbnRlcnJ1cHQgKi8KKwkJd3JpdGVfbW1jcl9ieXRlKFNDNTIwX1BDSUlOVEFNQVAgKyBwY2lfcGluLCBzYzUyMF9pcnFbaXJxXS5wcmlvcml0eSk7CisJCQorCQkKKwl9IGVsc2UgeworCQkvKiBHUElSUTAtR1BJUlExMCB1c2VkIGZvciBhZGRpdGlvbmFsIFBDSSBJTlRTICovCisJCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9HUDBJTUFQICsgcGNpX3BpbiAtIDQsIHNjNTIwX2lycVtpcnFdLnByaW9yaXR5KTsKKwkJCisJCS8qIGFsc28gc2V0IHRoZSBwb2xhcml0eSBpbiB0aGlzIGNhc2UgKi8KKwkJd3JpdGVfbW1jcl93b3JkKFNDNTIwX0lOVFBJTlBPTCwgCisJCQkJcmVhZF9tbWNyX3dvcmQoU0M1MjBfSU5UUElOUE9MKSB8ICgxIDw8IChwY2lfcGluLTQpKSk7CisJCQorCX0KKwkKKwkvKiByZWdpc3RlciB0aGUgcGluICovCQkKKwlzYzUyMF9wY2lfaW50c1twY2lfcGluXSA9IGlycTsKKwkKKworCXJldHVybiAwOyAvKiBPSyAqLworfQogCiB2b2lkIHBjaV9zYzUyMF9pbml0KHN0cnVjdCBwY2lfY29udHJvbGxlciAqaG9zZSkKIHsKQEAgLTI5Myw2ICszODIsNyBAQAogfQogCiAKKwogI2VuZGlmCiAKICNpZmRlZiBDRkdfVElNRVJfU0M1MjAKQEAgLTM0NSw0ICs0MzUsNjggQEAKIAogI2VuZGlmCiAKK2ludCBzc2lfc2V0X2ludGVyZmFjZShpbnQgZnJlcSwgaW50IGxzYl9maXJzdCwgaW50IGludl9jbG9jaywgaW50IGludl9waGFzZSkKK3sKKwl1OCB0ZW1wPTA7CiAKKwlpZiAoZnJlcSA+PSA4MTkyKSB7CisJCXRlbXAgfD0gQ1RMX0NMS19TRUxfNDsgCisJfSBlbHNlIGlmIChmcmVxID49IDQwOTYpIHsKKwkJdGVtcCB8PSBDVExfQ0xLX1NFTF84OyAgICAgICAgCisJfSBlbHNlIGlmIChmcmVxID49IDIwNDgpIHsKKwkJdGVtcCB8PSBDVExfQ0xLX1NFTF8xNjsgIAorCX0gZWxzZSBpZiAoZnJlcSA+PSAxMDI0KSB7CisJCXRlbXAgfD0gQ1RMX0NMS19TRUxfMzI7ICAKKwl9IGVsc2UgaWYgKGZyZXEgPj0gNTEyKSB7CisJCXRlbXAgfD0gQ1RMX0NMS19TRUxfNjQ7CisJfSBlbHNlIGlmIChmcmVxID49IDI1NikgeworCQl0ZW1wIHw9IENUTF9DTEtfU0VMXzEyODsKKwl9IGVsc2UgaWYgKGZyZXEgPj0gMTI4KSB7CisJCXRlbXAgfD0gQ1RMX0NMS19TRUxfMjU2OworCX0gZWxzZSB7CisJCXRlbXAgfD0gQ1RMX0NMS19TRUxfNTEyOworCX0KKwkKKwlpZiAoIWxzYl9maXJzdCkgeworCQl0ZW1wIHw9IE1TQkZfRU5COworCX0KKwkJCisJaWYgKGludl9jbG9jaykgeworCQl0ZW1wIHw9IENMS19JTlZfRU5COworCX0KKwkKKwlpZiAoaW52X3BoYXNlKSB7CisJCXRlbXAgfD0gUEhTX0lOVl9FTkI7CisJfQorCQkKKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfU1NJQ1RMLCB0ZW1wKTsKKwkKKwlyZXR1cm4gMDsKK30KKwordTggc3NpX3R4cnhfYnl0ZSh1OCBkYXRhKSAKK3sKKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfU1NJWE1JVCwgZGF0YSk7CisJd2hpbGUgKChyZWFkX21tY3JfYnl0ZShTQzUyMF9TU0lTVEEpKSAmIFNTSVNUQV9CU1kpOworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9TU0lDTUQsIFNTSUNNRF9DTURfU0VMX1hNSVRSQ1YpOworCXdoaWxlICgocmVhZF9tbWNyX2J5dGUoU0M1MjBfU1NJU1RBKSkgJiBTU0lTVEFfQlNZKTsKKwlyZXR1cm4gcmVhZF9tbWNyX2J5dGUoU0M1MjBfU1NJUkNWKTsJCit9ICAgICAgCisKKwordm9pZCBzc2lfdHhfYnl0ZSh1OCBkYXRhKSAKK3sKKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfU1NJWE1JVCwgZGF0YSk7CisJd2hpbGUgKChyZWFkX21tY3JfYnl0ZShTQzUyMF9TU0lTVEEpKSAmIFNTSVNUQV9CU1kpOyAKKwl3cml0ZV9tbWNyX2J5dGUoU0M1MjBfU1NJQ01ELCBTU0lDTURfQ01EX1NFTF9YTUlUKTsKK30KKwordTggc3NpX3J4X2J5dGUodm9pZCkgCit7CisJd2hpbGUgKChyZWFkX21tY3JfYnl0ZShTQzUyMF9TU0lTVEEpKSAmIFNTSVNUQV9CU1kpOworCXdyaXRlX21tY3JfYnl0ZShTQzUyMF9TU0lDTUQsIFNTSUNNRF9DTURfU0VMX1JDVik7CisJd2hpbGUgKChyZWFkX21tY3JfYnl0ZShTQzUyMF9TU0lTVEEpKSAmIFNTSVNUQV9CU1kpOworCXJldHVybiByZWFkX21tY3JfYnl0ZShTQzUyMF9TU0lSQ1YpOworfSAKKworI2VuZGlmIC8qIENPTkZJR19TQzUyMCAqLwpkaWZmIC0tZ2l0IGEvbGliX2kzODYvaWMvc2M1MjBfYXNtLlMgYi9jcHUvaTM4Ni9zYzUyMF9hc20uUwpzaW1pbGFyaXR5IGluZGV4IDg4JQpyZW5hbWUgZnJvbSBsaWJfaTM4Ni9pYy9zYzUyMF9hc20uUwpyZW5hbWUgdG8gY3B1L2kzODYvc2M1MjBfYXNtLlMKaW5kZXggNzIxMTBjNC4uN2E5NTdjNyAxMDA2NDQKLS0tIGEvbGliX2kzODYvaWMvc2M1MjBfYXNtLlMKKysrIGIvY3B1L2kzODYvc2M1MjBfYXNtLlMKQEAgLTEwNCw2ICsxMDQsOSBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqLwogCisjaW5jbHVkZSA8Y29uZmlnLmg+CisjaWZkZWYgQ09ORklHX1NDNTIwCisKIC5zZWN0aW9uIC50ZXh0CiAuZXF1ICAgICAgICAgICAgRFJDQ1RMLCAgICAgMHgwZmZmZWYwMTAgICAvKiBEUkFNIGNvbnRyb2wgcmVnaXN0ZXIgKi8KIC5lcXUgICAgICAgICAgICBEUkNUTUNUTCwgICAweDBmZmZlZjAxMiAgIC8qIERSQU0gdGltaW5nIGNvbnRyb2wgcmVnaXN0ZXIgKi8KQEAgLTE0MCwzNCArMTQzLDM0IEBACiBtZW1faW5pdDogCiAgICAgICAgIHhvcncgICAgJWF4LCVheAogICAgICAgICBtb3ZsICAgICREQkNUTCwgJWVkaSAgICAgICAgICAgICAKLWZzCW1vdmIgICAgICVhbCwgKCVlZGkpICAgICAgICAgICAgIC8qIGRpc2FibGUgd3JpdGUgYnVmZmVyICovCisJbW92YiAgICAgJWFsLCAoJWVkaSkgICAgICAgICAgICAgLyogZGlzYWJsZSB3cml0ZSBidWZmZXIgKi8KIAogICAgICAgICBtb3ZsICAgICRFQ0NDVEwsICVlZGkgICAgICAgICAgICAKLWZzCW1vdmIgICAgICVhbCwgKCVlZGkpICAgICAgICAgICAgIC8qIGRpc2FibGUgRUNDICovCisJbW92YiAgICAgJWFsLCAoJWVkaSkgICAgICAgICAgICAgLyogZGlzYWJsZSBFQ0MgKi8KIAogICAgICAgICBtb3ZsICAgICREUkNUTUNUTCwgJWVkaSAgICAgICAgICAgCiAgICAgICAgIG1vdmIgICAgJDB4MUUsJWFsICAgICAgICAgICAgICAgIC8qIFNldCBTRFJBTSB0aW1pbmcgZm9yIHNsb3dlc3QgKi8KLWZzCW1vdmIgICAgICVhbCwgKCVlZGkpCisJbW92YiAgICAgJWFsLCAoJWVkaSkKIAogIC8qCiAgICogc2V0dXAgbG9vcCB0byBkbyA0IGV4dGVybmFsIGJhbmtzIHN0YXJ0aW5nIHdpdGggYmFuayAzCiAgICovCiAgICAgICAgIG1vdmwgICAgJDB4ZmYwMDAwMDAsJWVheCAgICAgICAgIC8qIGVuYWJsZSBsYXN0IGJhbmsgYW5kIHNldHVwICovCiAgICAgICAgIG1vdmwgICAgJERSQ0JFTkRBRFIsICVlZGkgICAgICAgIC8qIGVuZGluZyBhZGRyZXNzIHJlZ2lzdGVyICovCi1mcwltb3ZsICAgICAlZWF4LCAoJWVkaSkKKwltb3ZsICAgICAlZWF4LCAoJWVkaSkKIAogICAgICAgICBtb3ZsICAgICREUkNDRkcsICVlZGkgICAgICAgICAgICAvKiBzZXR1cCAqLwogICAgICAgICBtb3Z3ICAgICQweGJiYmIsJWF4ICAgICAgICAgICAgICAvKiBkcmFtIGNvbmZpZyByZWdpc3RlciBmb3IgICovCi1mcwltb3Z3ICAgICVheCwgKCVlZGkpCisJbW92dyAgICAlYXgsICglZWRpKQogCiAgLyoKICAgKiBpc3N1ZSBhIE5PUCB0byBhbGwgRFJBTXMKICAgKi8KICAgICAgICAgbW92bCAgICAkRFJDQ1RMLCAlZWRpICAgICAgICAgICAgLyogc2V0dXAgRFJBTSBjb250cm9sIHJlZ2lzdGVyIHdpdGggKi8KICAgICAgICAgbW92YiAgICAkMHgxLCVhbCAgICAgICAgICAgICAgICAgLyogRGlzYWJsZSByZWZyZXNoLGRpc2FibGUgd3JpdGUgYnVmZmVyICovIAotZnMJbW92YiAgICAgJWFsLCAoJWVkaSkKKwltb3ZiICAgICAlYWwsICglZWRpKQogICAgICAgICBtb3ZsICAgICRDQUNIRUxJTkVTWiwgJWVzaSAgICAgICAvKiBqdXN0IGEgZHVtbXkgYWRkcmVzcyB0byB3cml0ZSBmb3IgKi8gCi1mcwltb3Z3ICAgICAlYXgsICglZXNpKQorCW1vdncgICAgICVheCwgKCVlc2kpCiAgLyoKICAgKiBkZWxheSBmb3IgMTAwIHVzZWM/IDIwMD8KICAgKiAqKioqKip0aGlzIGlzIGEgY2x1ZGdlIGZvciBub3cgKioqKioqKioqKioqKgpAQCAtMTgxLDQxICsxODQsNDEgQEAKICAgKiBpc3N1ZSBhbGwgYmFua3MgcHJlY2hhcmdlCiAgICovCiAgICAgICAgIG1vdmIgICAgJDB4MiwlYWwgICAgICAgICAgICAgICAgIC8qIEFsbCBiYW5rcyBwcmVjaGFyZ2UgKi8KLWZzCW1vdmIgICAgICVhbCwgKCVlZGkpCi1mcwltb3Z3ICAgICAlYXgsICglZXNpKQorCW1vdmIgICAgICVhbCwgKCVlZGkpCisJbW92dyAgICAgJWF4LCAoJWVzaSkKIAogIC8qCiAgICogaXNzdWUgMiBhdXRvIHJlZnJlc2hlcyB0byBhbGwgYmFua3MgCiAgICovCiAgICAgICAgIG1vdmIgICAgJDB4NCwlYWwgICAgICAgICAgICAgICAgIC8qIEF1dG8gcmVmcmVzaCBjbWQgKi8KLWZzCW1vdmIgICAgICVhbCwgKCVlZGkpCisJbW92YiAgICAgJWFsLCAoJWVkaSkKICAgICAgICAgbW92dyAgICAkMiwlY3gKIHJlZnJlc2gxOiAKLWZzCW1vdncgICAgICVheCwgKCVlc2kpCisJbW92dyAgICAgJWF4LCAoJWVzaSkKICAgICAgICAgbG9vcCAgICByZWZyZXNoMQogCiAgLyoKICAgKiBpc3N1ZSBMT0FEIE1PREUgUkVHSVNURVIgY29tbWFuZAogICAqLwogICAgICAgICBtb3ZiICAgICQweDMsJWFsICAgICAgICAgICAgICAgICAvKiBMb2FkIG1vZGUgcmVnaXN0ZXIgY21kICovCi1mcwltb3ZiICAgICAlYWwsICglZWRpKQotZnMJbW92dyAgICAgJWF4LCAoJWVzaSkKKwltb3ZiICAgICAlYWwsICglZWRpKQorCW1vdncgICAgICVheCwgKCVlc2kpCiAKICAvKgogICAqIGlzc3VlIDggbW9yZSBhdXRvIHJlZnJlc2hlcyB0byBhbGwgYmFua3MgCiAgICovIAogICAgICAgICBtb3ZiICAgICQweDQsJWFsICAgICAgICAgICAgICAgICAvKiBBdXRvIHJlZnJlc2ggY21kICovCi1mcwltb3ZiICAgICAlYWwsICglZWRpKQorCW1vdmIgICAgICVhbCwgKCVlZGkpCiAgICAgICAgIG1vdncgICAgJDgsJWN4CiByZWZyZXNoMjogCi1mcwltb3Z3ICAgICAlYXgsICglZXNpKQorCW1vdncgICAgICVheCwgKCVlc2kpCiAgICAgICAgIGxvb3AgICAgcmVmcmVzaDIKIAogIC8qCiAgICogc2V0IGNvbnRyb2wgcmVnaXN0ZXIgdG8gTk9STUFMIG1vZGUgCiAgICovCiAgICAgICAgIG1vdmIgICAgJDB4MCwlYWwgICAgICAgICAgICAgICAgIC8qIE5vcm1hbCBtb2RlIHZhbHVlICovCi1mcwltb3ZiICAgICAlYWwsICglZWRpKQorCW1vdmIgICAgICVhbCwgKCVlZGkpCiAKICAvKgogICAqIHNpemUgZHJhbSBzdGFydGluZyB3aXRoIGV4dGVybmFsIGJhbmsgMyBtb3ZpbmcgdG8gZXh0ZXJuYWwgYmFuayAwCkBAIC0yMjksOCArMjMyLDggQEAKICAgKi8KICAgICAgICAgbW92bCAgICAkQ09MMTFfQURSLCAlZXNpICAgICAgICAgLyogc2V0IGFkZHJlc3MgdG8gbWF4IGNvbCAoMTEpIHdyYXAgYWRkciAqLwogICAgICAgICBtb3ZsICAgICRDT0wxMV9EQVRBLCAlZWF4ICAgICAgICAvKiBwYXR0ZXJuIGZvciBtYXggc3VwcG9ydGVkIGNvbHVtbnMoMTEpICovCi1mcyAgICAgIG1vdmwgICAgJWVheCwgKCVlc2kpICAgICAgICAgICAgIC8qIHdyaXRlIG1heCBjb2wgcGF0dGVybiBhdCBtYXggY29sIGFkciAqLwotZnMgICAgICBtb3ZsICAgICglZXNpKSwgJWVieCAgICAgICAgICAgICAvKiBvcHRpb25hbCByZWFkICovCisJbW92bCAgICAlZWF4LCAoJWVzaSkgICAgICAgICAgICAgLyogd3JpdGUgbWF4IGNvbCBwYXR0ZXJuIGF0IG1heCBjb2wgYWRyICovCisJbW92bCAgICAoJWVzaSksICVlYnggICAgICAgICAgICAgLyogb3B0aW9uYWwgcmVhZCAqLwogICAgICAgICBjbXBsICAgICVlYngsJWVheCAgICAgICAgICAgICAgICAvKiB0byB2ZXJpZnkgd3JpdGUgKi8KICAgICAgICAgam56ICAgICBiYWRfcmFtICAgICAgICAgICAgICAgICAgLyogdGhpcyByYW0gaXMgYmFkICovCiAgLyoKQEAgLTIzOSw4ICsyNDIsOCBAQAogCiAgICAgICAgIG1vdmwgICAgJENPTDEwX0FEUiwgJWVzaSAgICAgICAgIC8qIHNldCBhZGRyZXNzIHRvIDEwIGNvbCB3cmFwIGFkZHJlc3MgKi8KICAgICAgICAgbW92bCAgICAkQ09MMTBfREFUQSwgJWVheCAgICAgICAgLyogcGF0dGVybiBmb3IgMTAgY29sIHdyYXAgKi8KLWZzICAgICAgbW92bCAgICAlZWF4LCAoJWVzaSkgICAgICAgICAgICAgLyogd3JpdGUgMTAgY29sIHBhdHRlcm4gQCAxMCBjb2wgd3JhcCBhZHIgKi8KLWZzICAgICAgbW92bCAgICAoJWVzaSksICVlYnggICAgICAgICAgICAgLyogb3B0aW9uYWwgcmVhZCAqLworCW1vdmwgICAgJWVheCwgKCVlc2kpICAgICAgICAgICAgIC8qIHdyaXRlIDEwIGNvbCBwYXR0ZXJuIEAgMTAgY29sIHdyYXAgYWRyICovCisJbW92bCAgICAoJWVzaSksICVlYnggICAgICAgICAgICAgLyogb3B0aW9uYWwgcmVhZCAqLwogICAgICAgICBjbXBsICAgICVlYngsJWVheCAgICAgICAgICAgICAgICAvKiB0byB2ZXJpZnkgd3JpdGUgKi8KICAgICAgICAgam56ICAgICBiYWRfcmFtICAgICAgICAgICAgICAgICAgLyogdGhpcyByYW0gaXMgYmFkICovCiAgLyoKQEAgLTI0OCw4ICsyNTEsOCBAQAogICAqLwogICAgICAgICBtb3ZsICAgICRDT0wwOV9BRFIsICVlc2kgICAgICAgICAvKiBzZXQgYWRkcmVzcyB0byA5IGNvbCB3cmFwIGFkZHJlc3MgKi8KICAgICAgICAgbW92bCAgICAkQ09MMDlfREFUQSwgJWVheCAgICAgICAgLyogcGF0dGVybiBmb3IgOSBjb2wgd3JhcCAqLwotZnMgICAgICBtb3ZsICAgICVlYXgsICglZXNpKSAgICAgICAgICAgICAvKiB3cml0ZSA5IGNvbCBwYXR0ZXJuIEAgOSBjb2wgd3JhcCBhZHIgKi8KLWZzICAgICAgbW92bCAgICAoJWVzaSksICVlYnggICAgICAgICAgICAgLyogb3B0aW9uYWwgcmVhZCAqLworCW1vdmwgICAgJWVheCwgKCVlc2kpICAgICAgICAgICAgIC8qIHdyaXRlIDkgY29sIHBhdHRlcm4gQCA5IGNvbCB3cmFwIGFkciAqLworCW1vdmwgICAgKCVlc2kpLCAlZWJ4ICAgICAgICAgICAgIC8qIG9wdGlvbmFsIHJlYWQgKi8KICAgICAgICAgY21wbCAgICAlZWJ4LCVlYXggICAgICAgICAgICAgICAgLyogdG8gdmVyaWZ5IHdyaXRlICovCiAgICAgICAgIGpueiAgICAgYmFkX3JhbSAgICAgICAgICAgICAgICAgIC8qIHRoaXMgcmFtIGlzIGJhZCAqLwogIC8qCkBAIC0yNTcsOCArMjYwLDggQEAKICAgKi8KICAgICAgICAgbW92bCAgICAkQ09MMDhfQURSLCAlZXNpICAgICAgICAgLyogc2V0IGFkZHJlc3MgdG8gbWluKDgpIGNvbCB3cmFwIGFkZHJlc3MgKi8KICAgICAgICAgbW92bCAgICAkQ09MMDhfREFUQSwgJWVheCAgICAgICAgLyogcGF0dGVybiBmb3IgbWluICg4KSBjb2wgd3JhcCAqLwotZnMgICAgICBtb3ZsICAgICVlYXgsICglZXNpKSAgICAgICAgICAgICAvKiB3cml0ZSBtaW4gY29sIHBhdHRlcm4gQCBtaW4gY29sIGFkciAqLwotZnMgICAgICBtb3ZsICAgICglZXNpKSwgJWVieCAgICAgICAgICAgICAvKiBvcHRpb25hbCByZWFkICovCisJbW92bCAgICAlZWF4LCAoJWVzaSkgICAgICAgICAgICAgLyogd3JpdGUgbWluIGNvbCBwYXR0ZXJuIEAgbWluIGNvbCBhZHIgKi8KKwltb3ZsICAgICglZXNpKSwgJWVieCAgICAgICAgICAgICAvKiBvcHRpb25hbCByZWFkICovCiAgICAgICAgIGNtcGwgICAgJWVieCwlZWF4ICAgICAgICAgICAgICAgIC8qIHRvIHZlcmlmeSB3cml0ZSAqLwogICAgICAgICBqbnogICAgIGJhZF9yYW0gICAgICAgICAgICAgICAgICAvKiB0aGlzIHJhbSBpcyBiYWQgKi8KICAvKgpAQCAtMjY2LDggKzI2OSw4IEBACiAgICovCiAgICAgICAgIG1vdmwgICAgJFJPVzE0X0FEUiwgJWVzaSAgICAgICAgIC8qIHNldCBhZGRyZXNzIHRvIG1heCByb3cgKDE0KSB3cmFwIGFkZHIgKi8KICAgICAgICAgbW92bCAgICAkUk9XMTRfREFUQSwgJWVheCAgICAgICAgLyogcGF0dGVybiBmb3IgbWF4IHN1cHBvcnRlZCByb3dzKDE0KSAqLwotZnMgICAgICBtb3ZsICAgICVlYXgsICglZXNpKSAgICAgICAgICAgICAvKiB3cml0ZSBtYXggcm93IHBhdHRlcm4gYXQgbWF4IHJvdyBhZHIgKi8KLWZzICAgICAgbW92bCAgICAoJWVzaSksICVlYnggICAgICAgICAgICAgLyogb3B0aW9uYWwgcmVhZCAqLworCW1vdmwgICAgJWVheCwgKCVlc2kpICAgICAgICAgICAgIC8qIHdyaXRlIG1heCByb3cgcGF0dGVybiBhdCBtYXggcm93IGFkciAqLworCW1vdmwgICAgKCVlc2kpLCAlZWJ4ICAgICAgICAgICAgIC8qIG9wdGlvbmFsIHJlYWQgKi8KICAgICAgICAgY21wbCAgICAlZWJ4LCVlYXggICAgICAgICAgICAgICAgLyogdG8gdmVyaWZ5IHdyaXRlICovCiAgICAgICAgIGpueiAgICAgYmFkX3JhbSAgICAgICAgICAgICAgICAgIC8qIHRoaXMgcmFtIGlzIGJhZCAqLwogIC8qCkBAIC0yNzUsOCArMjc4LDggQEAKICAgKi8KICAgICAgICAgbW92bCAgICAkUk9XMTNfQURSLCAlZXNpICAgICAgICAgLyogc2V0IGFkZHJlc3MgdG8gMTMgcm93IHdyYXAgYWRkcmVzcyAqLwogICAgICAgICBtb3ZsICAgICRST1cxM19EQVRBLCAlZWF4ICAgICAgICAvKiBwYXR0ZXJuIGZvciAxMyByb3cgd3JhcCAqLwotZnMgICAgICBtb3ZsICAgICVlYXgsICglZXNpKSAgICAgICAgICAgICAvKiB3cml0ZSAxMyByb3cgcGF0dGVybiBAIDEzIHJvdyB3cmFwIGFkciAqLwotZnMgICAgICBtb3ZsICAgICglZXNpKSwgJWVieCAgICAgICAgICAgICAvKiBvcHRpb25hbCByZWFkICovCisJbW92bCAgICAlZWF4LCAoJWVzaSkgICAgICAgICAgICAgLyogd3JpdGUgMTMgcm93IHBhdHRlcm4gQCAxMyByb3cgd3JhcCBhZHIgKi8KKwltb3ZsICAgICglZXNpKSwgJWVieCAgICAgICAgICAgICAvKiBvcHRpb25hbCByZWFkICovCiAgICAgICAgIGNtcGwgICAgJWVieCwlZWF4ICAgICAgICAgICAgICAgIC8qIHRvIHZlcmlmeSB3cml0ZSAqLwogICAgICAgICBqbnogICAgIGJhZF9yYW0gICAgICAgICAgICAgICAgICAvKiB0aGlzIHJhbSBpcyBiYWQgKi8KICAvKgpAQCAtMjg0LDggKzI4Nyw4IEBACiAgICovCiAgICAgICAgIG1vdmwgICAgJFJPVzEyX0FEUiwgJWVzaSAgICAgICAgIC8qIHNldCBhZGRyZXNzIHRvIDEyIHJvdyB3cmFwIGFkZHJlc3MgKi8KICAgICAgICAgbW92bCAgICAkUk9XMTJfREFUQSwgJWVheCAgICAgICAgLyogcGF0dGVybiBmb3IgMTIgcm93IHdyYXAgKi8KLWZzICAgICAgbW92bCAgICAlZWF4LCAoJWVzaSkgICAgICAgICAgICAgLyogd3JpdGUgMTIgcm93IHBhdHRlcm4gQCAxMiByb3cgd3JhcCBhZHIgKi8KLWZzICAgICAgbW92bCAgICAoJWVzaSksICVlYnggICAgICAgICAgICAgLyogb3B0aW9uYWwgcmVhZCAqLworCW1vdmwgICAgJWVheCwgKCVlc2kpICAgICAgICAgICAgIC8qIHdyaXRlIDEyIHJvdyBwYXR0ZXJuIEAgMTIgcm93IHdyYXAgYWRyICovCisJbW92bCAgICAoJWVzaSksICVlYnggICAgICAgICAgICAgLyogb3B0aW9uYWwgcmVhZCAqLwogICAgICAgICBjbXBsICAgICVlYngsJWVheCAgICAgICAgICAgICAgICAvKiB0byB2ZXJpZnkgd3JpdGUgKi8KICAgICAgICAgam56ICAgICBiYWRfcmFtICAgICAgICAgICAgICAgICAgLyogdGhpcyByYW0gaXMgYmFkICovCiAgLyoKQEAgLTI5Myw4ICsyOTYsOCBAQAogICAqLwogICAgICAgICBtb3ZsICAgICRST1cxMV9BRFIsICVlZGkgICAgICAgICAvKiBzZXQgYWRkcmVzcyB0byAxMSByb3cgd3JhcCBhZGRyZXNzICovCiAgICAgICAgIG1vdmwgICAgJFJPVzExX0RBVEEsICVlYXggICAgICAgIC8qIHBhdHRlcm4gZm9yIDExIHJvdyB3cmFwICovCi1mcyAgICAgIG1vdmwgICAgJWVheCwgKCVlZGkpICAgICAgICAgICAgIC8qIHdyaXRlIDExIHJvdyBwYXR0ZXJuIEAgMTEgcm93IHdyYXAgYWRyICovCi1mcyAgICAgIG1vdmwgICAgKCVlZGkpLCAlZWJ4ICAgICAgICAgICAgIC8qIG9wdGlvbmFsIHJlYWQgKi8KKwltb3ZsICAgICVlYXgsICglZWRpKSAgICAgICAgICAgICAvKiB3cml0ZSAxMSByb3cgcGF0dGVybiBAIDExIHJvdyB3cmFwIGFkciAqLworCW1vdmwgICAgKCVlZGkpLCAlZWJ4ICAgICAgICAgICAgIC8qIG9wdGlvbmFsIHJlYWQgKi8KICAgICAgICAgY21wbCAgICAlZWJ4LCVlYXggICAgICAgICAgICAgICAgLyogdG8gdmVyaWZ5IHdyaXRlICovCiAgICAgICAgIGpueiAgICAgYmFkX3JhbSAgICAgICAgICAgICAgICAgIC8qIHRoaXMgcmFtIGlzIGJhZCAqLwogIC8qCkBAIC0zMDIsOCArMzA1LDggQEAKICAgKi8KICAgICAgICAgbW92bCAgICAkUk9XMTBfQURSLCAlZWRpICAgICAgICAgLyogc2V0IGFkZHJlc3MgdG8gMTAgcm93IHdyYXAgYWRkcmVzcyAqLwogICAgICAgICBtb3ZsICAgICRST1cxMF9EQVRBLCAlZWF4ICAgICAgICAvKiBwYXR0ZXJuIGZvciAxMCByb3cgd3JhcCAoQUEpICovCi1mcyAgICAgIG1vdmwgICAgJWVheCwgKCVlZGkpICAgICAgICAgICAgIC8qIHdyaXRlIDEwIHJvdyBwYXR0ZXJuIEAgMTAgcm93IHdyYXAgYWRyICovCi1mcyAgICAgIG1vdmwgICAgKCVlZGkpLCAlZWJ4ICAgICAgICAgICAgIC8qIG9wdGlvbmFsIHJlYWQgKi8KKwltb3ZsICAgICVlYXgsICglZWRpKSAgICAgICAgICAgICAvKiB3cml0ZSAxMCByb3cgcGF0dGVybiBAIDEwIHJvdyB3cmFwIGFkciAqLworCW1vdmwgICAgKCVlZGkpLCAlZWJ4ICAgICAgICAgICAgIC8qIG9wdGlvbmFsIHJlYWQgKi8KICAgICAgICAgY21wbCAgICAlZWJ4LCVlYXggICAgICAgICAgICAgICAgLyogdG8gdmVyaWZ5IHdyaXRlICovCiAgICAgICAgIGpueiAgICAgYmFkX3JhbSAgICAgICAgICAgICAgICAgIC8qIHRoaXMgcmFtIGlzIGJhZCAqLwogIC8qCkBAIC0zMTQsNyArMzE3LDcgQEAKICAgKiBpZiBkYXRhIEAgcm93IDEyIHdyYXAgPT0gMTEgb3IgMTIsIHdlIGhhdmUgNCBiYW5rcywKICAgKi8KICAgICAgICAgeG9ydyAgICAlZGksJWRpICAgICAgICAgICAgICAgICAgLyogdmFsdWUgZm9yIDIgYmFua3MgaW4gREkgKi8KLWZzICAgICAgbW92bCAgICAoJWVzaSksICVlYnggICAgICAgICAgICAgLyogcmVhZCBmcm9tIDEyIHJvdyB3cmFwIHRvIGNoZWNrIGJhbmtzIAorCW1vdmwgICAgKCVlc2kpLCAlZWJ4ICAgICAgICAgICAgIC8qIHJlYWQgZnJvbSAxMiByb3cgd3JhcCB0byBjaGVjayBiYW5rcyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogKGVzaSBpcyBzZXR1cCBmcm9tIHRoZSB3cml0ZSB0byByb3cgMTIgd3JhcCkgKi8KICAgICAgICAgY21wbCAgICAlZWJ4LCVlYXggICAgICAgICAgICAgICAgLyogY2hlY2sgZm9yIEFBIHBhdHRlcm4gIChlYXggaG9sZHMgdGhlIGFhIHBhdHRlcm4pICovCiAgICAgICAgIGp6ICAgICAgb25seTIgICAgICAgICAgICAgICAgICAgIC8qIGlmIHBhdHRlcm4gPT0gQUEsIHdlIG9ubHkgaGF2ZSAyIGJhbmtzICovCkBAIC0zMzMsNyArMzM2LDcgQEAKICAgKiB2YWxpZGF0ZSByb3cgbWFzawogICAqLwogICAgICAgICBtb3ZsICAgICRST1cxNF9BRFIsICVlc2kgICAgICAgICAvKiBzZXQgYWRkcmVzcyBiYWNrIHRvIG1heCByb3cgd3JhcCBhZGRyICovCi1mcyAgICAgIG1vdmwgICAgKCVlc2kpLCAlZWF4ICAgICAgICAgICAgIC8qIHJlYWQgYWN0dWFsIG51bWJlciBvZiByb3dzIEAgcm93MTQgYWRyICovCisJbW92bCAgICAoJWVzaSksICVlYXggICAgICAgICAgICAgLyogcmVhZCBhY3R1YWwgbnVtYmVyIG9mIHJvd3MgQCByb3cxNCBhZHIgKi8KIAogICAgICAgICBjbXBsICAgICRST1cxMV9EQVRBLCAlZWF4ICAgICAgICAvKiByb3cgbXVzdCBiZSBncmVhdGVyIHRoYW4gMTEgcGF0dGVybiAqLwogICAgICAgICBqYiAgICAgIGJhZF9yYW0KQEAgLTM1MSw3ICszNTQsNyBAQAogICAqIHJlYWQgY29sIDExIHdyYXAgYWRyIGZvciByZWFsIGNvbHVtbiBkYXRhIHZhbHVlCiAgICovCiAgICAgICAgIG1vdmwgICAgJENPTDExX0FEUiwgJWVzaSAgICAgICAgIC8qIHNldCBhZGRyZXNzIHRvIG1heCBjb2wgKDExKSB3cmFwIGFkZHIgKi8KLWZzICAgICAgbW92bCAgICAoJWVzaSksICVlYXggICAgICAgICAgICAgLyogcmVhZCByZWFsIGNvbCBudW1iZXIgYXQgbWF4IGNvbCBhZHIgKi8KKwltb3ZsICAgICglZXNpKSwgJWVheCAgICAgICAgICAgICAvKiByZWFkIHJlYWwgY29sIG51bWJlciBhdCBtYXggY29sIGFkciAqLwogIC8qCiAgICogdmFsaWRhdGUgY29sdW1uIGRhdGEKICAgKi8KQEAgLTM4OSw5ICszOTIsOSBAQAogYmFkX3JlaW50OiAKICAgICAgICAgbW92bCAgICAkRFJDQ1RMLCAlZXNpICAgICAgICAgICAgLyogc2V0dXAgRFJBTSBjb250cm9sIHJlZ2lzdGVyIHdpdGggKi8KICAgICAgICAgbW92YiAgICAkMHgyLCVhbCAgICAgICAgICAgICAgICAgLyogQWxsIGJhbmtzIHByZWNoYXJnZSAqLwotZnMJbW92YiAgICAgJWFsLCAoJWVzaSkKKwltb3ZiICAgICAlYWwsICglZXNpKQogICAgICAgICBtb3ZsICAgICRDQUNIRUxJTkVTWiwgJWVzaSAgICAgICAvKiBhZGRyZXNzIHRvIGluaXQgcmVhZCBidWZmZXIgKi8KLWZzCW1vdncgICAgICVheCwgKCVlc2kpCisJbW92dyAgICAgJWF4LCAoJWVzaSkKIAogIC8qCiAgICogdXBkYXRlIEVORElORyBBRERSRVNTIFJFR0lTVEVSCkBAIC0zOTksNyArNDAyLDcgQEAKICAgICAgICAgbW92bCAgICAkRFJDQkVOREFEUiwgJWVkaSAgICAgICAgLyogRFJBTSBlbmRpbmcgYWRkcmVzcyByZWdpc3RlciAqLwogICAgICAgICBtb3ZsICAgICVlY3gsJWVieAogCWFkZGwJJWVieCwgJWVkaQotZnMJbW92YiAgICAlZGgsICglZWRpKQorCW1vdmIgICAgJWRoLCAoJWVkaSkKICAvKgogICAqIHVwZGF0ZSBDT05GSUcgUkVHSVNURVIKICAgKi8KQEAgLTQxMywxMCArNDE2LDEwIEBACiAgICAgICAgIG5vdHcgICAgJWJ4CiAgICAgICAgIHhjaGd3ICAgJWN4LCVheAogICAgICAgICBtb3ZsICAgICREUkNDRkcsICVlZGkKLWZzCW1vdiAgICAgKCVlZGkpLCAlYXgKKwltb3YgICAgICglZWRpKSwgJWF4CiAgICAgICAgIGFuZHcgICAgJWJ4LCVheAogICAgICAgICBvcncgICAgICVkeCwlYXgKLWZzICAgICAgbW92dyAgICAlYXgsICglZWRpKQorCW1vdncgICAgJWF4LCAoJWVkaSkKICAgICAgICAgamN4eiAgICBjbGVhbnVwCiAKICAgICAgICAgZGVjdyAgICAlY3gKQEAgLTQyNCwxNSArNDI3LDE1IEBACiAgICAgICAgIG1vdmwgICAgJERSQ0JFTkRBRFIsICVlZGkgICAgICAgIC8qIERSQU0gZW5kaW5nIGFkZHJlc3MgcmVnaXN0ZXIgKi8KICAgICAgICAgbW92YiAgICAkMHhmZiwlYWwKIAlhZGRsCSVlYngsICVlZGkKLWZzCW1vdmIgICAgJWFsLCAoJWVkaSkKKwltb3ZiICAgICVhbCwgKCVlZGkpCiAgLyoKICAgKiBzZXQgY29udHJvbCByZWdpc3RlciB0byBOT1JNQUwgbW9kZSAKICAgKi8KICAgICAgICAgbW92bCAgICAkRFJDQ1RMLCAlZXNpICAgICAgICAgICAgLyogc2V0dXAgRFJBTSBjb250cm9sIHJlZ2lzdGVyIHdpdGggKi8KICAgICAgICAgbW92YiAgICAkMHgwLCVhbCAgICAgICAgICAgICAgICAgLyogTm9ybWFsIG1vZGUgdmFsdWUgKi8KLWZzCW1vdmIgICAgJWFsLCAoJWVzaSkKKwltb3ZiICAgICVhbCwgKCVlc2kpCiAgICAgICAgIG1vdmwgICAgJENBQ0hFTElORVNaLCAlZXNpICAgICAgIC8qIGFkZHJlc3MgdG8gaW5pdCByZWFkIGJ1ZmZlciAqLwotZnMJbW92dyAgICAlYXgsICglZXNpKQorCW1vdncgICAgJWF4LCAoJWVzaSkKICAgICAgICAgam1wICAgICBuZXh0YmFuawogCiBjbGVhbnVwOiAKQEAgLTQ0MCw3ICs0NDMsNyBAQAogICAgICAgICBtb3Z3ICAgICQ0LCVjeAogICAgICAgICB4b3J3ICAgICVheCwlYXgKIGNsZWFudXBscDogCi1mcwltb3ZiICAgKCVlZGkpLCAlYWwKKwltb3ZiICAgKCVlZGkpLCAlYWwKICAgICAgICAgb3JiICAgICAlYWwsJWFsCiAgICAgICAgIGp6ICAgICAgZW1wdHliYW5rCiAKQEAgLTQ1MSw3ICs0NTQsNyBAQAogbm90dG9vbXVjaDogCiAgICAgICAgIG1vdmIgICAgJWFsLCVhaAogICAgICAgICBvcmIgICAgICQweDgwLCVhbAotZnMJbW92YiAgICAlYWwsICglZWRpKQorCW1vdmIgICAgJWFsLCAoJWVkaSkKIGVtcHR5YmFuazogCiAgICAgICAgIGluY2wgICAgJWVkaQogICAgICAgICBsb29wICAgIGNsZWFudXBscApAQCAtNDcxLDEzICs0NzQsMTMgQEAKICNlbmRpZgogICAgICAgICBtb3ZsICAgICREUkNDVEwsICVlZGkgICAgICAgICAgICAvKiBEUkFNIENvbnRyb2wgcmVnaXN0ZXIgKi8KICAgICAgICAgbW92YiAgICAkMHgzLCVhbCAgICAgICAgICAgICAgICAgLyogTG9hZCBtb2RlIHJlZ2lzdGVyIGNtZCAqLwotZnMJbW92YiAgICAgJWFsLCAoJWVkaSkKLWZzCW1vdncgICAgICVheCwgKCVlc2kpCisJbW92YiAgICAgJWFsLCAoJWVkaSkKKwltb3Z3ICAgICAlYXgsICglZXNpKQogCiAKICAgICAgICAgbW92bCAgICAkRFJDQ1RMLCAlZWRpICAgICAgICAgICAgLyogRFJBTSBDb250cm9sIHJlZ2lzdGVyICovCiAgICAgICAgIG1vdmIgICAgJDB4MTgsJWFsICAgICAgICAgICAgICAgIC8qICBFbmFibGUgcmVmcmVzaCBhbmQgTk9STUFMIG1vZGUgKi8KLWZzCW1vdmIgICAgJWFsLCAoJWVkaSkKKwltb3ZiICAgICVhbCwgKCVlZGkpCiAKICAgICAgICAgam1wICAgICBkcmFtX2RvbmUKIApAQCAtNTI4LDMgKzUzMSw2IEBACiBkb25lOgltb3ZsCSVlYngsICVlYXgKIAogCWptcAkqJWVicAorCisKKyNlbmRpZiAvKiBDT05GSUdfU0M1MjAgKi8KZGlmZiAtLWdpdCBhL2NwdS9pMzg2L3NlcmlhbC5jIGIvY3B1L2kzODYvc2VyaWFsLmMKaW5kZXggYzBkMmU4YS4uMjJjM2MyYSAxMDA2NDQKLS0tIGEvY3B1L2kzODYvc2VyaWFsLmMKKysrIGIvY3B1L2kzODYvc2VyaWFsLmMKQEAgLTI0LDYgKzI0LDcgQEAKICAqIE1BIDAyMTExLTEzMDcgVVNBCiAgKi8KIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAqLworCiAvKgogICogVGhpcyBzb3VyY2UgY29kZSBoYXMgYmVlbiBtYWRlIGF2YWlsYWJsZSB0byB5b3UgYnkgSUJNIG9uIGFuIEFTLUlTCiAgKiBiYXNpcy4gIEFueW9uZSByZWNlaXZpbmcgdGhpcyBzb3VyY2UgaXMgbGljZW5zZWQgdW5kZXIgSUJNCkBAIC04OSwxMyArOTAsMTUgQEAKIAljaGFyICpyeF9idWZmZXI7CiAJdWxvbmcgcnhfcHV0OwogCXVsb25nIHJ4X2dldDsKKwlpbnQgY3RzOwogfSBzZXJpYWxfYnVmZmVyX3Q7CiAKLXZvbGF0aWxlIHN0YXRpYyBzZXJpYWxfYnVmZmVyX3QgYnVmX2luZm87Cit2b2xhdGlsZSBzZXJpYWxfYnVmZmVyX3QgYnVmX2luZm87CitzdGF0aWMgaW50IHNlcmlhbF9idWZmZXJfYWN0aXZlPTA7CiAjZW5kaWYKIAogCi1zdGF0aWMgaW50IHNlcmlhbF9kaXYgKGludCBiYXVkcmF0ZSApCitzdGF0aWMgaW50IHNlcmlhbF9kaXYoaW50IGJhdWRyYXRlKQogewogCQogCXN3aXRjaCAoYmF1ZHJhdGUpIHsKQEAgLTExMiw3ICsxMTUsOCBAQAogCWNhc2UgMTE1MjAwOgogCQlyZXR1cm4gMTsJCQogCX0KLQloYW5nICgpOworCQorCXJldHVybiAxMjsKIH0KIAogCkBAIC0xMjEsNyArMTI1LDcgQEAKICAqIGFzIHNlcmlhbCBjb25zb2xlIGludGVyZmFjZS4KICAqLwogCi1pbnQgc2VyaWFsX2luaXQgKHZvaWQpCitpbnQgc2VyaWFsX2luaXQodm9pZCkKIHsKIAlERUNMQVJFX0dMT0JBTF9EQVRBX1BUUjsKIApAQCAtMTM0LDI0ICsxMzgsMjQgQEAKIAlvdXRiKGJkaXYsIFVBUlQwX0JBU0UgKyBVQVJUX0RMTCk7CS8qIHNldCBiYXVkcmF0ZSBkaXZpc29yICovCiAJb3V0YihiZGl2ID4+IDgsIFVBUlQwX0JBU0UgKyBVQVJUX0RMTSk7Lyogc2V0IGJhdWRyYXRlIGRpdmlzb3IgKi8KIAlvdXRiKDB4MDMsIFVBUlQwX0JBU0UgKyBVQVJUX0xDUik7CS8qIGNsZWFyIERMQUI7IHNldCA4IGJpdHMsIG5vIHBhcml0eSAqLwotCW91dGIoMHgwMCwgVUFSVDBfQkFTRSArIFVBUlRfRkNSKTsJLyogZGlzYWJsZSBGSUZPICovCi0Jb3V0YigweDAwLCBVQVJUMF9CQVNFICsgVUFSVF9NQ1IpOwkvKiBubyBtb2RlbSBjb250cm9sIERUUiBSVFMgKi8KKwlvdXRiKDB4MDEsIFVBUlQwX0JBU0UgKyBVQVJUX0ZDUik7CS8qIGVuYWJsZSBGSUZPICovCisJb3V0YigweDBiLCBVQVJUMF9CQVNFICsgVUFSVF9NQ1IpOwkvKiBTZXQgRFRSIGFuZCBSVFMgYWN0aXZlICovCiAJdmFsID0gaW5iKFVBUlQwX0JBU0UgKyBVQVJUX0xTUik7CS8qIGNsZWFyIGxpbmUgc3RhdHVzICovCiAJdmFsID0gaW5iKFVBUlQwX0JBU0UgKyBVQVJUX1JCUik7CS8qIHJlYWQgcmVjZWl2ZSBidWZmZXIgKi8KIAlvdXRiKDB4MDAsIFVBUlQwX0JBU0UgKyBVQVJUX1NDUik7CS8qIHNldCBzY3JhdGNocGFkICovCiAJb3V0YigweDAwLCBVQVJUMF9CQVNFICsgVUFSVF9JRVIpOwkvKiBzZXQgaW50ZXJydXB0IGVuYWJsZSByZWcgKi8KIAotCXJldHVybiAoMCk7CisJcmV0dXJuIDA7CiB9CiAKIAotdm9pZCBzZXJpYWxfc2V0YnJnICh2b2lkKQordm9pZCBzZXJpYWxfc2V0YnJnKHZvaWQpCiB7CiAJREVDTEFSRV9HTE9CQUxfREFUQV9QVFI7CiAKIAl1bnNpZ25lZCBzaG9ydCBiZGl2OwogCQotCWJkaXYgPSBzZXJpYWxfZGl2IChnZC0+YmF1ZHJhdGUpOworCWJkaXYgPSBzZXJpYWxfZGl2KGdkLT5iYXVkcmF0ZSk7CiAKIAlvdXRiKDB4ODAsIFVBUlQwX0JBU0UgKyBVQVJUX0xDUik7CS8qIHNldCBETEFCIGJpdCAqLwogCW91dGIoYmRpdiYweGZmLCBVQVJUMF9CQVNFICsgVUFSVF9ETEwpOwkvKiBzZXQgYmF1ZHJhdGUgZGl2aXNvciAqLwpAQCAtMTYwLDcgKzE2NCw3IEBACiB9CiAKIAotdm9pZCBzZXJpYWxfcHV0YyAoY29uc3QgY2hhciBjKQordm9pZCBzZXJpYWxfcHV0Yyhjb25zdCBjaGFyIGMpCiB7CiAJaW50IGk7CiAKQEAgLTE2OSwzMSArMTczLDM4IEBACiAKIAkvKiBjaGVjayBUSFJFIGJpdCwgd2FpdCBmb3IgdHJhbnNtaXRlciBhdmFpbGFibGUgKi8KIAlmb3IgKGkgPSAxOyBpIDwgMzUwMDsgaSsrKSB7Ci0JCWlmICgoaW5iIChVQVJUMF9CQVNFICsgVUFSVF9MU1IpICYgMHgyMCkgPT0gMHgyMCkKKwkJaWYgKChpbmIgKFVBUlQwX0JBU0UgKyBVQVJUX0xTUikgJiAweDIwKSA9PSAweDIwKSB7CiAJCQlicmVhazsKLQkJdWRlbGF5ICgxMDApOworCQl9CisJCXVkZWxheSgxMDApOwogCX0KIAlvdXRiKGMsIFVBUlQwX0JBU0UgKyBVQVJUX1RIUik7CS8qIHB1dCBjaGFyYWN0ZXIgb3V0ICovCiB9CiAKIAotdm9pZCBzZXJpYWxfcHV0cyAoY29uc3QgY2hhciAqcykKK3ZvaWQgc2VyaWFsX3B1dHMoY29uc3QgY2hhciAqcykKIHsKIAl3aGlsZSAoKnMpIHsKLQkJc2VyaWFsX3B1dGMgKCpzKyspOworCQlzZXJpYWxfcHV0YygqcysrKTsKIAl9CiB9CiAKIAotaW50IHNlcmlhbF9nZXRjICgpCitpbnQgc2VyaWFsX2dldGModm9pZCkKIHsKIAl1bnNpZ25lZCBjaGFyIHN0YXR1cyA9IDA7CiAKKyNpZiBDT05GSUdfU0VSSUFMX1NPRlRXQVJFX0ZJRk8KKwlpZiAoc2VyaWFsX2J1ZmZlcl9hY3RpdmUpIHsKKwkJcmV0dXJuIHNlcmlhbF9idWZmZXJlZF9nZXRjKCk7CisJfQorI2VuZGlmCisJCiAJd2hpbGUgKDEpIHsKICNpZiBkZWZpbmVkKENPTkZJR19IV19XQVRDSERPRykKLQkJV0FUQ0hET0dfUkVTRVQgKCk7CS8qIFJlc2V0IEhXIFdhdGNoZG9nLCBpZiBuZWVkZWQgKi8KKwkJV0FUQ0hET0dfUkVTRVQoKTsJLyogUmVzZXQgSFcgV2F0Y2hkb2csIGlmIG5lZWRlZCAqLwogI2VuZGlmCS8qIENPTkZJR19IV19XQVRDSERPRyAqLwotCQlzdGF0dXMgPSBpbmIgKFVBUlQwX0JBU0UgKyBVQVJUX0xTUik7CisJCXN0YXR1cyA9IGluYihVQVJUMF9CQVNFICsgVUFSVF9MU1IpOwogCQlpZiAoKHN0YXR1cyAmIGFzeW5jTFNSRGF0YVJlYWR5MSkgIT0gMHgwKSB7CiAJCQlicmVhazsKIAkJfQpAQCAtMjExLDExICsyMjIsMTcgQEAKIH0KIAogCi1pbnQgc2VyaWFsX3RzdGMgKCkKK2ludCBzZXJpYWxfdHN0Yyh2b2lkKQogewogCXVuc2lnbmVkIGNoYXIgc3RhdHVzOwogCi0Jc3RhdHVzID0gaW5iIChVQVJUMF9CQVNFICsgVUFSVF9MU1IpOworI2lmIENPTkZJR19TRVJJQUxfU09GVFdBUkVfRklGTworCWlmIChzZXJpYWxfYnVmZmVyX2FjdGl2ZSkgeworCQlyZXR1cm4gc2VyaWFsX2J1ZmZlcmVkX3RzdGMoKTsKKwl9CisjZW5kaWYKKworCXN0YXR1cyA9IGluYihVQVJUMF9CQVNFICsgVUFSVF9MU1IpOwogCWlmICgoc3RhdHVzICYgYXN5bmNMU1JEYXRhUmVhZHkxKSAhPSAweDApIHsKIAkJcmV0dXJuICgxKTsKIAl9CkBAIC0yMzQsMzYgKzI1MSw1MCBAQAogCiAjaWYgQ09ORklHX1NFUklBTF9TT0ZUV0FSRV9GSUZPCiAKLXZvaWQgc2VyaWFsX2lzciAodm9pZCAqYXJnKQordm9pZCBzZXJpYWxfaXNyKHZvaWQgKmFyZykKIHsKIAlpbnQgc3BhY2U7CiAJaW50IGM7Ci0JY29uc3QgaW50IHJ4X2dldCA9IGJ1Zl9pbmZvLnJ4X2dldDsKIAlpbnQgcnhfcHV0ID0gYnVmX2luZm8ucnhfcHV0OwogCi0JaWYgKHJ4X2dldCA8PSByeF9wdXQpIHsKLQkJc3BhY2UgPSBDT05GSUdfU0VSSUFMX1NPRlRXQVJFX0ZJRk8gLSAocnhfcHV0IC0gcnhfZ2V0KTsKKwlpZiAoYnVmX2luZm8ucnhfZ2V0IDw9IHJ4X3B1dCkgeworCQlzcGFjZSA9IENPTkZJR19TRVJJQUxfU09GVFdBUkVfRklGTyAtIChyeF9wdXQgLSBidWZfaW5mby5yeF9nZXQpOwogCX0gZWxzZSB7Ci0JCXNwYWNlID0gcnhfZ2V0IC0gcnhfcHV0OworCQlzcGFjZSA9IGJ1Zl9pbmZvLnJ4X2dldCAtIHJ4X3B1dDsKIAl9Ci0Jd2hpbGUgKHNlcmlhbF90c3RjICgpKSB7Ci0JCWMgPSBzZXJpYWxfZ2V0YyAoKTsKKwkKKwl3aGlsZSAoaW5iKFVBUlQwX0JBU0UgKyBVQVJUX0xTUikgJiAxKSB7CisJCWMgPSBpbmIoVUFSVDBfQkFTRSk7CiAJCWlmIChzcGFjZSkgewogCQkJYnVmX2luZm8ucnhfYnVmZmVyW3J4X3B1dCsrXSA9IGM7CiAJCQlzcGFjZS0tOworCQkJCisJCQlpZiAocnhfcHV0ID09IGJ1Zl9pbmZvLnJ4X2dldCkgeworCQkJCWJ1Zl9pbmZvLnJ4X2dldCsrOworCQkJCWlmIChyeF9wdXQgPT0gQ09ORklHX1NFUklBTF9TT0ZUV0FSRV9GSUZPKSB7CisJCQkJCWJ1Zl9pbmZvLnJ4X2dldCA9IDA7CisJCQkJfQorCQkJfQorCQkJCisJCQlpZiAocnhfcHV0ID09IENPTkZJR19TRVJJQUxfU09GVFdBUkVfRklGTykgeworCQkJCXJ4X3B1dCA9IDA7CisJCQkJaWYgKDAgPT0gYnVmX2luZm8ucnhfZ2V0KSB7CisJCQkJCWJ1Zl9pbmZvLnJ4X2dldCA9IDE7CisJCQkJfQorCQkJCisJCQl9CisJCQkKIAkJfQotCQlpZiAocnhfcHV0ID09IENPTkZJR19TRVJJQUxfU09GVFdBUkVfRklGTykKLQkJCXJ4X3B1dCA9IDA7CiAJCWlmIChzcGFjZSA8IENPTkZJR19TRVJJQUxfU09GVFdBUkVfRklGTyAvIDQpIHsKIAkJCS8qIFN0b3AgZmxvdyBieSBzZXR0aW5nIFJUUyBpbmFjdGl2ZSAqLwotCQkJb3V0YihpbmIgKFVBUlQwX0JBU0UgKyBVQVJUX01DUikgJiAoMHhGRiBeIDB4MDIpLAorCQkJb3V0YihpbmIoVUFSVDBfQkFTRSArIFVBUlRfTUNSKSAmICgweEZGIF4gMHgwMiksCiAJCQkgICAgICBVQVJUMF9CQVNFICsgVUFSVF9NQ1IpOwogCQl9CiAJfQogCWJ1Zl9pbmZvLnJ4X3B1dCA9IHJ4X3B1dDsKIH0KIAotdm9pZCBzZXJpYWxfYnVmZmVyZWRfaW5pdCAodm9pZCkKK3ZvaWQgc2VyaWFsX2J1ZmZlcmVkX2luaXQodm9pZCkKIHsKIAlzZXJpYWxfcHV0cyAoIlN3aXRjaGluZyB0byBpbnRlcnJ1cHQgZHJpdmVuIHNlcmlhbCBpbnB1dCBtb2RlLlxuIik7CiAJYnVmX2luZm8ucnhfYnVmZmVyID0gbWFsbG9jIChDT05GSUdfU0VSSUFMX1NPRlRXQVJFX0ZJRk8pOwpAQCAtMjcyLDggKzMwMywxMCBAQAogCiAJaWYgKGluYiAoVUFSVDBfQkFTRSArIFVBUlRfTVNSKSAmIDB4MTApIHsKIAkJc2VyaWFsX3B1dHMgKCJDaGVjayBDVFMgc2lnbmFsIHByZXNlbnQgb24gc2VyaWFsIHBvcnQ6IE9LLlxuIik7CisJCWJ1Zl9pbmZvLmN0cyA9IDE7CiAJfSBlbHNlIHsKIAkJc2VyaWFsX3B1dHMgKCJXQVJOSU5HOiBDVFMgc2lnbmFsIG5vdCBwcmVzZW50IG9uIHNlcmlhbCBwb3J0LlxuIik7CisJCWJ1Zl9pbmZvLmN0cyA9IDA7CiAJfQogCiAJaXJxX2luc3RhbGxfaGFuZGxlciAoIFZFQ05VTV9VMCAvKlVBUlQwICovLyppbnQgdmVjICovICwKQEAgLTI4MywzMiArMzE2LDQ5IEBACiAJLyogRW5hYmxlICJSWCBEYXRhIEF2YWlsYWJsZSIgSW50ZXJydXB0IG9uIFVBUlQgKi8KIAkvKiBvdXRiKGluYihVQVJUMF9CQVNFICsgVUFSVF9JRVIpIHwweDAxLCBVQVJUMF9CQVNFICsgVUFSVF9JRVIpOyAqLwogCW91dGIoMHgwMSwgVUFSVDBfQkFTRSArIFVBUlRfSUVSKTsKLQkvKiBTZXQgRFRSIGFjdGl2ZSAqLwotCW91dGIoaW5iIChVQVJUMF9CQVNFICsgVUFSVF9NQ1IpIHwgMHgwMSwgVUFSVDBfQkFTRSArIFVBUlRfTUNSKTsKLQkvKiBTdGFydCBmbG93IGJ5IHNldHRpbmcgUlRTIGFjdGl2ZSAqLwotCW91dGIoaW5iIChVQVJUMF9CQVNFICsgVUFSVF9NQ1IpIHwgMHgwMiwgVUFSVDBfQkFTRSArIFVBUlRfTUNSKTsKLQkvKiBTZXR1cCBVQVJUIEZJRk86IFJYIHRyaWdnZXIgbGV2ZWw6IDQgYnl0ZSwgRW5hYmxlIEZJRk8gKi8KLQlvdXRiKCgxIDw8IDYpIHwgMSwgVUFSVDBfQkFTRSArIFVBUlRfRkNSKTsKKwkKKwkvKiBTZXQgRFRSIGFuZCBSVFMgYWN0aXZlLCBlbmFibGUgaW50ZXJydXB0cyAgKi8KKwlvdXRiKGluYiAoVUFSVDBfQkFTRSArIFVBUlRfTUNSKSB8IDB4MGIsIFVBUlQwX0JBU0UgKyBVQVJUX01DUik7CisJCisJLyogU2V0dXAgVUFSVCBGSUZPOiBSWCB0cmlnZ2VyIGxldmVsOiAxIGJ5dGUsIEVuYWJsZSBGSUZPICovCisJb3V0YiggLyooMSA8PCA2KSB8Ki8gIDEsIFVBUlQwX0JBU0UgKyBVQVJUX0ZDUik7CisJCisJc2VyaWFsX2J1ZmZlcl9hY3RpdmUgPSAxOwogfQogCiB2b2lkIHNlcmlhbF9idWZmZXJlZF9wdXRjIChjb25zdCBjaGFyIGMpCiB7CisJaW50IGk7CiAJLyogV2FpdCBmb3IgQ1RTICovCiAjaWYgZGVmaW5lZChDT05GSUdfSFdfV0FUQ0hET0cpCiAJd2hpbGUgKCEoaW5iIChVQVJUMF9CQVNFICsgVUFSVF9NU1IpICYgMHgxMCkpCiAJCVdBVENIRE9HX1JFU0VUICgpOwogI2Vsc2UKLQl3aGlsZSAoIShpbmIgKFVBUlQwX0JBU0UgKyBVQVJUX01TUikgJiAweDEwKSk7CisJaWYgKGJ1Zl9pbmZvLmN0cykgIHsKKwkJZm9yIChpPTA7aTwxMDAwO2krKykgeworCQkJaWYgKChpbmIgKFVBUlQwX0JBU0UgKyBVQVJUX01TUikgJiAweDEwKSkgeworCQkJCWJyZWFrOworCQkJfQorCQl9CisJCWlmIChpIT0xMDAwKSB7CisJCQlidWZfaW5mby5jdHMgPSAwOworCQl9CisJfSBlbHNlIHsKKwkJaWYgKChpbmIgKFVBUlQwX0JBU0UgKyBVQVJUX01TUikgJiAweDEwKSkgeworCQkJYnVmX2luZm8uY3RzID0gMTsKKwkJfQorCX0KKwkJCiAjZW5kaWYKIAlzZXJpYWxfcHV0YyAoYyk7CiB9CiAKLXZvaWQgc2VyaWFsX2J1ZmZlcmVkX3B1dHMgKGNvbnN0IGNoYXIgKnMpCit2b2lkIHNlcmlhbF9idWZmZXJlZF9wdXRzKGNvbnN0IGNoYXIgKnMpCiB7CiAJc2VyaWFsX3B1dHMgKHMpOwogfQogCi1pbnQgc2VyaWFsX2J1ZmZlcmVkX2dldGMgKHZvaWQpCitpbnQgc2VyaWFsX2J1ZmZlcmVkX2dldGModm9pZCkKIHsKIAlpbnQgc3BhY2U7CiAJaW50IGM7CkBAIC0zMjIsOCArMzcyLDkgQEAKIAl3aGlsZSAocnhfZ2V0ID09IGJ1Zl9pbmZvLnJ4X3B1dCk7CiAjZW5kaWYKIAljID0gYnVmX2luZm8ucnhfYnVmZmVyW3J4X2dldCsrXTsKLQlpZiAocnhfZ2V0ID09IENPTkZJR19TRVJJQUxfU09GVFdBUkVfRklGTykKKwlpZiAocnhfZ2V0ID09IENPTkZJR19TRVJJQUxfU09GVFdBUkVfRklGTykgewogCQlyeF9nZXQgPSAwOworCX0KIAlidWZfaW5mby5yeF9nZXQgPSByeF9nZXQ7CiAKIAlyeF9wdXQgPSBidWZfaW5mby5yeF9wdXQ7CkBAIC0zNDAsNyArMzkxLDcgQEAKIAlyZXR1cm4gYzsKIH0KIAotaW50IHNlcmlhbF9idWZmZXJlZF90c3RjICh2b2lkKQoraW50IHNlcmlhbF9idWZmZXJlZF90c3RjKHZvaWQpCiB7CiAJcmV0dXJuIChidWZfaW5mby5yeF9nZXQgIT0gYnVmX2luZm8ucnhfcHV0KSA/IDEgOiAwOwogfQpAQCAtMzU4LDcgKzQwOSw3IEBACiAgIGNvbmZpZ3VyZSBwb3J0IDEgZm9yIHNlcmlhbCBJL08gd2l0aCByYXRlID0gQ09ORklHX0tHREJfQkFVRFJBVEUKICovCiAjaWYgKENPTkZJR19LR0RCX1NFUl9JTkRFWCAmIDIpCi12b2lkIGtnZGJfc2VyaWFsX2luaXQgKHZvaWQpCit2b2lkIGtnZGJfc2VyaWFsX2luaXQodm9pZCkKIHsKIAlERUNMQVJFX0dMT0JBTF9EQVRBX1BUUjsKIApAQCAtMzgxLDcgKzQzMiw3IEBACiB9CiAKIAotdm9pZCBwdXREZWJ1Z0NoYXIgKGNvbnN0IGNoYXIgYykKK3ZvaWQgcHV0RGVidWdDaGFyKGNvbnN0IGNoYXIgYykKIHsKIAlpZiAoYyA9PSAnXG4nKQogCQlzZXJpYWxfcHV0YyAoJ1xyJyk7CkBAIC0zOTMsNyArNDQ0LDcgQEAKIH0KIAogCi12b2lkIHB1dERlYnVnU3RyIChjb25zdCBjaGFyICpzKQordm9pZCBwdXREZWJ1Z1N0cihjb25zdCBjaGFyICpzKQogewogCXdoaWxlICgqcykgewogCQlzZXJpYWxfcHV0YygqcysrKTsKQEAgLTQwMSw3ICs0NTIsNyBAQAogfQogCiAKLWludCBnZXREZWJ1Z0NoYXIgKHZvaWQpCitpbnQgZ2V0RGVidWdDaGFyKHZvaWQpCiB7CiAJdW5zaWduZWQgY2hhciBzdGF0dXMgPSAwOwogCkBAIC00MjQsMzQgKzQ3NSwzNCBAQAogfQogCiAKLXZvaWQga2dkYl9pbnRlcnJ1cHRpYmxlIChpbnQgeWVzKQordm9pZCBrZ2RiX2ludGVycnVwdGlibGUoaW50IHllcykKIHsKIAlyZXR1cm47CiB9CiAKICNlbHNlCS8qICEgKENPTkZJR19LR0RCX1NFUl9JTkRFWCAmIDIpICovCiAKLXZvaWQga2dkYl9zZXJpYWxfaW5pdCAodm9pZCkKK3ZvaWQga2dkYl9zZXJpYWxfaW5pdCh2b2lkKQogewogCXNlcmlhbF9wcmludGYgKCJbb24gc2VyaWFsXSAiKTsKIH0KIAotdm9pZCBwdXREZWJ1Z0NoYXIgKGludCBjKQordm9pZCBwdXREZWJ1Z0NoYXIoaW50IGMpCiB7CiAJc2VyaWFsX3B1dGMgKGMpOwogfQogCi12b2lkIHB1dERlYnVnU3RyIChjb25zdCBjaGFyICpzdHIpCit2b2lkIHB1dERlYnVnU3RyKGNvbnN0IGNoYXIgKnN0cikKIHsKIAlzZXJpYWxfcHV0cyAoc3RyKTsKIH0KIAotaW50IGdldERlYnVnQ2hhciAodm9pZCkKK2ludCBnZXREZWJ1Z0NoYXIodm9pZCkKIHsKIAlyZXR1cm4gc2VyaWFsX2dldGMgKCk7CiB9CiAKLXZvaWQga2dkYl9pbnRlcnJ1cHRpYmxlIChpbnQgeWVzKQordm9pZCBrZ2RiX2ludGVycnVwdGlibGUoaW50IHllcykKIHsKIAlyZXR1cm47CiB9CmRpZmYgLS1naXQgYS9jcHUvaTM4Ni9zdGFydDE2LlMgYi9jcHUvaTM4Ni9zdGFydDE2LlMKaW5kZXggNTkwYTVhNi4uYTM0NjQyZiAxMDA2NDQKLS0tIGEvY3B1L2kzODYvc3RhcnQxNi5TCisrKyBiL2NwdS9pMzg2L3N0YXJ0MTYuUwpAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAgVS1ib290IC0gaTM4NiBTdGFydHVwIENvZGUgCiAgKgotICogIENvcHlyaWdodCAoYykgMjAwMglPbWljcm9uIENldGkgQUIsIERhbmllbCBFbmdzdHL2bSA8ZGVuYWllbEBvbWljcm9uLnNlPgorICogIENvcHlyaWdodCAoYykgMjAwMiwgMjAwMyBPbWljcm9uIENldGkgQUIsIERhbmllbCBFbmdzdHL2bSA8ZGVuYWllbEBvbWljcm9uLnNlPgogICoKICAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCiAgKiBwcm9qZWN0LgpAQCAtNDAsNyArNDAsNyBAQAogCQogCS8qIFR1cm4gb2YgY2FjaGUgKHRoaXMgbWlnaHQgcmVxdWlyZSBhIDQ4Ni1jbGFzcyBDUFUpICovCiAgICAgICAgIG1vdmwgICAgJWNyMCwgJWVheAotICAgICAgICBvcmwgICAgICQwNjAwMDAwMDAsJWVheAorICAgICAgICBvcmwgICAgICQweDYwMDAwMDAwLCVlYXgKICAgICAgICAgbW92bCAgICAlZWF4LCAlY3IwCiAgICAgICAgIHdiaW52ZCAgCQkgICAgIAogCQpkaWZmIC0tZ2l0IGEvY3B1L21wYzgyNHgvc3RhcnQuUyBiL2NwdS9tcGM4MjR4L3N0YXJ0LlMKaW5kZXggZDQ1YmIzNi4uYzE0NjEyYiAxMDA2NDQKLS0tIGEvY3B1L21wYzgyNHgvc3RhcnQuUworKysgYi9jcHUvbXBjODI0eC9zdGFydC5TCkBAIC01NDMsNyArNTQzLDcgQEAKIAltcglyMTAsIHI1CQkvKiBTYXZlIGNvcHkgb2YgRGVzdGluYXRpb24gQWRkcmVzcwkqLwogCiAJbXIJcjMsICByNQkJCQkvKiBEZXN0aW5hdGlvbiBBZGRyZXNzCSovCi0jaWZkZWYgREVCVUcKKyNpZmRlZiBDRkdfUkFNQk9PVAogCWxpcwlyNCwgQ0ZHX1NEUkFNX0JBU0VAaAkJLyogU291cmNlICAgICAgQWRkcmVzcwkqLwogCW9yaQlyNCwgcjQsIENGR19TRFJBTV9CQVNFQGwKICNlbHNlCmRpZmYgLS1naXQgYS9jcHUvbXBjODI2MC9wY2kuYyBiL2NwdS9tcGM4MjYwL3BjaS5jCmluZGV4IDQ3YzVkYWUuLjZkMTZjMDQgMTAwNjQ0Ci0tLSBhL2NwdS9tcGM4MjYwL3BjaS5jCisrKyBiL2NwdS9tcGM4MjYwL3BjaS5jCkBAIC0zNTMsNiArMzUzLDEyIEBACiAgICAgcGNpX2hvc2Vfd3JpdGVfY29uZmlnX3dvcmQoaG9zZSwgaG9zdF9kZXZubywgUENJX0NPTU1BTkQsCiAJCSAgICAgICAgIHRlbXBTaG9ydCB8IFBDSV9DT01NQU5EX01BU1RFUiB8IFBDSV9DT01NQU5EX01FTU9SWSk7CiAKKyNpZmRlZiBDT05GSUdfTVBDODI2NkFEUworCS8qIGRvIHNvbWUgYnJpZGdlIGluaXQsIHNob3VsZCBiZSBkb25lIG9uIGFsbCA4MjYwIGJhc2VkIGJyaWRnZXMgKi8KKwlwY2lfaG9zZV93cml0ZV9jb25maWdfYnl0ZShob3NlLCBob3N0X2Rldm5vLCBQQ0lfQ0FDSEVfTElORV9TSVpFLCAweDA4KTsKKwlwY2lfaG9zZV93cml0ZV9jb25maWdfYnl0ZShob3NlLCBob3N0X2Rldm5vLCBQQ0lfTEFURU5DWV9USU1FUiwgMHhGOCk7CisjZW5kaWYgCisKICAgICBob3NlLT5maXJzdF9idXNubyA9IDA7CiAgICAgaG9zZS0+bGFzdF9idXNubyA9IDB4ZmY7CiAKQEAgLTM3MywxMSArMzc5LDExIEBACiAKICAgICAvKiBQQ0kgbWVtb3J5IHNwYWNlICovCiAjaWZkZWYgQ09ORklHX01QQzgyNjZBRFMKLSAgICBwY2lfc2V0X3JlZ2lvbihob3NlLT5yZWdpb25zICsgMCwKLQkJICAgICAgIFBDSV9TTFZfTUVNX0JVUywKLQkJICAgICAgIFBDSV9TTFZfTUVNX0xPQ0FMLAotCQkgICAgICAgZ2QtPnJhbV9zaXplLAotCQkgICAgICAgUENJX1JFR0lPTl9NRU0gfCBQQ0lfUkVHSU9OX01FTU9SWSk7CisgICAgcGNpX3NldF9yZWdpb24oaG9zZS0+cmVnaW9ucyArIDEsCisJCSAgICAgICBQQ0lfTVNUUl9NRU1JT19CVVMsCisJCSAgICAgICBQQ0lfTVNUUl9NRU1JT19MT0NBTCwKKwkJICAgICAgIFBDSV9NU1RSX01FTUlPX1NJWkUsCisJCSAgICAgICBQQ0lfUkVHSU9OX01FTSk7CiAjZWxzZQogICAgIHBjaV9zZXRfcmVnaW9uKGhvc2UtPnJlZ2lvbnMgKyAxLAogCQkgICAgICAgUENJX01TVFJfTUVNX0JVUywKZGlmZiAtLWdpdCBhL2RvYy9SRUFETUUuY29tbWFuZHMgYi9kb2MvUkVBRE1FLmNvbW1hbmRzCmluZGV4IGQ4NDhkYjAuLjc4ODdmNjMgMTAwNjQ0Ci0tLSBhL2RvYy9SRUFETUUuY29tbWFuZHMKKysrIGIvZG9jL1JFQURNRS5jb21tYW5kcwpAQCAtNjksNiArNjksOCBAQAogbXRlc3QJCTUKIG11eGluZm8JCTMKIG13CQkyCituYW5kCQkzCituYm9vdAkJNAogbmV4dAkJNAogbm0JCTIKIHBjaWluZm8JCTMKZGlmZiAtLWdpdCBhL2RvYy9SRUFETUUubmFuZCBiL2RvYy9SRUFETUUubmFuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjdmYmZkCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL1JFQURNRS5uYW5kCkBAIC0wLDAgKzEsMTc2IEBACitOQU5EIEZMQVNIIGNvbW1hbmRzIGFuZCBub3RlcworCisjIChDKSBDb3B5cmlnaHQgMjAwMworIyBEYXZlIEVsbGlzLCBTSVhORVQsIGRnZUBzaXhuZXRpby5jb20KKyMKKyMgU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKKyMgcHJvamVjdC4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworIyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorIyB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwKKyMgTUEgMDIxMTEtMTMwNyBVU0EKKworQ29tbWFuZHM6CisKKyAgIG5hbmQgYmFkCisgICAgICBQcmludCBhIGxpc3Qgb2YgYWxsIG9mIHRoZSBiYWQgYmxvY2tzIGluIHRoZSBjdXJyZW50IGRldmljZS4KKworICAgbmFuZCBkZXZpY2UKKyAgICAgIFByaW50IGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IE5BTkQgZGV2aWNlLgorCisgICBuYW5kIGRldmljZSBudW0KKyAgICAgIE1ha2UgZGV2aWNlIGBudW0nIHRoZSBjdXJyZW50IGRldmljZSBhbmQgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgaXQuCisKKyAgIG5hbmQgZXJhc2Ugb2ZmIHNpemUKKyAgIG5hbmQgZXJhc2UgY2xlYW4gW29mZiBzaXplXQorICAgICAgRXJhc2UgYHNpemUnIGJ5dGVzIHN0YXJ0aW5nIGF0IG9mZnNldCBgb2ZmJy4gIE9ubHkgY29tcGxldGUgZXJhc2UKKyAgICAgIGJsb2NrcyBjYW4gYmUgZXJhc2VkLgorCisgICAgICBJZiBgY2xlYW4nIGlzIHNwZWNpZmllZCwgYSBKRkZTMi1zdHlsZSBjbGVhbiBtYXJrZXIgaXMgd3JpdHRlbiB0bworICAgICAgZWFjaCBibG9jayBhZnRlciBpdCBpcyBlcmFzZWQuIElmIGBjbGVhbicgaXMgc3BlY2lmaWVkIHdpdGhvdXQgYW4KKyAgICAgIG9mZnNldCBvciBzaXplLCB0aGUgZW50aXJlIGZsYXNoIGlzIGVyYXNlZC4KKworICAgICAgVGhpcyBjb21tYW5kIHdpbGwgbm90IGVyYXNlIGJsb2NrcyB0aGF0IGFyZSBtYXJrZWQgYmFkLiBUaGVyZSBpcworICAgICAgYSBkZWJ1ZyBvcHRpb24gaW4gY21kX25hbmQuYyB0byBhbGxvdyBiYWQgYmxvY2tzIHRvIGJlIGVyYXNlZC4KKyAgICAgIFBsZWFzZSByZWFkIHRoZSB3YXJuaW5nIHRoZXJlIGJlZm9yZSB1c2luZyBpdCwgYXMgYmxvY2tzIG1hcmtlZAorICAgICAgYmFkIGJ5IHRoZSBtYW51ZmFjdHVyZXIgbXVzdCBfTkVWRVJfIGJlIGVyYXNlZC4KKworICAgbmFuZCBpbmZvCisgICAgICBQcmludCBpbmZvcm1hdGlvbiBhYm91dCBhbGwgb2YgdGhlIE5BTkQgZGV2aWNlcyBmb3VuZC4KKworICAgbmFuZCByZWFkIGFkZHIgb2ZzIHNpemUKKyAgICAgIFJlYWQgYHNpemUnIGJ5dGVzIGZyb20gYG9mcycgaW4gTkFORCBmbGFzaCB0byBgYWRkcicuIElmIGEgcGFnZQorICAgICAgY2Fubm90IGJlIHJlYWQgYmVjYXVzZSBpdCBpcyBtYXJrZWQgYmFkIG9yIGFuIHVuY29ycmVjdGFibGUgZGF0YQorICAgICAgZXJyb3IgaXMgZm91bmQgdGhlIGNvbW1hbmQgc3RvcHMgd2l0aCBhbiBlcnJvci4gCisKKyAgIG5hbmQgcmVhZC5qZmZzMiBhZGRyIG9mcyBzaXplCisgICAgICBMaWtlIGByZWFkJywgYnV0IHRoZSBkYXRhIGZvciBibG9ja3MgdGhhdCBhcmUgbWFya2VkIGJhZCBpcyByZWFkIGFzCisgICAgICAweGZmLiBUaGlzIGdpdmVzIGEgcmVhZGFibGUgSkZGUzIgaW1hZ2UgdGhhdCBjYW4gYmUgcHJvY2Vzc2VkIGJ5CisgICAgICB0aGUgSkZGUzIgY29tbWFuZHMgc3VjaCBhcyBscyBhbmQgZnNsb2FkLgorCisgICBuYW5kIHJlYWQub29iIGFkZHIgb2ZzIHNpemUKKyAgICAgIFJlYWQgYHNpemUnIGJ5dGVzIGZyb20gdGhlIG91dC1vZi1iYW5kIGRhdGEgYXJlYSBjb3JyZXNwb25kaW5nIHRvCisgICAgICBgb2ZzJyBpbiBOQU5EIGZsYXNoIHRvIGBhZGRyJy4gVGhpcyBpcyBsaW1pdGVkIHRvIHRoZSAxNiBieXRlcyBvZgorICAgICAgZGF0YSBmb3Igb25lIDUxMi1ieXRlIHBhZ2Ugb3IgMiAyNTYtYnl0ZSBwYWdlcy4gVGhlcmUgaXMgbm8gY2hlY2sKKyAgICAgIGZvciBiYWQgYmxvY2tzIG9yIEVDQyBlcnJvcnMuCisKKyAgIG5hbmQgd3JpdGUgYWRkciBvZnMgc2l6ZQorICAgICAgV3JpdGUgYHNpemUnIGJ5dGVzIGZyb20gYGFkZHInIHRvIGBvZnMnIGluIE5BTkQgZmxhc2guIElmIGEgcGFnZQorICAgICAgY2Fubm90IGJlIHdyaXR0ZW4gYmVjYXVzZSBpdCBpcyBtYXJrZWQgYmFkIG9yIHRoZSB3cml0ZSBmYWlscyB0aGUKKyAgICAgIGNvbW1hbmQgc3RvcHMgd2l0aCBhbiBlcnJvci4gCisKKyAgIG5hbmQgd3JpdGUuamZmczIgYWRkciBvZnMgc2l6ZQorICAgICAgTGlrZSBgd3JpdGUnLCBidXQgYmxvY2tzIHRoYXQgYXJlIG1hcmtlZCBiYWQgYXJlIHNraXBwZWQgYW5kIHRoZQorICAgICAgaXMgd3JpdHRlbiB0byB0aGUgbmV4dCBibG9jayBpbnN0ZWFkLiBUaGlzIGFsbG93cyB3cml0aW5nIHdyaXRpbmcKKyAgICAgIGEgSkZGUzIgaW1hZ2UsIGFzIGxvbmcgYXMgdGhlIGltYWdlIGlzIHNob3J0IGVub3VnaCB0byBmaXQgZXZlbgorICAgICAgYWZ0ZXIgc2tpcHBpbmcgdGhlIGJhZCBibG9ja3MuIENvbXBhY3QgaW1hZ2VzLCBzdWNoIGFzIHRob3NlCisgICAgICBwcm9kdWNlZCBieSBta2ZzLmpmZnMyIHNob3VsZCB3b3JrIHdlbGwsIGJ1dCBsb2FkaW5nIGFuIGltYWdlIGNvcGllZAorICAgICAgZnJvbSBhbm90aGVyIGZsYXNoIGlzIGdvaW5nIHRvIGJlIHRyb3VibGUgaWYgdGhlcmUgYXJlIGFueSBiYWQgYmxvY2tzLgorCisgICBuYW5kIHdyaXRlLm9vYiBhZGRyIG9mcyBzaXplCisgICAgICBXcml0ZSBgc2l6ZScgYnl0ZXMgZnJvbSBgYWRkcicgdG8gdGhlIG91dC1vZi1iYW5kIGRhdGEgYXJlYQorICAgICAgY29ycmVzcG9uZGluZyB0byBgb2ZzJyBpbiBOQU5EIGZsYXNoLiBUaGlzIGlzIGxpbWl0ZWQgdG8gdGhlIDE2IGJ5dGVzCisgICAgICBvZiBkYXRhIGZvciBvbmUgNTEyLWJ5dGUgcGFnZSBvciAyIDI1Ni1ieXRlIHBhZ2VzLiBUaGVyZSBpcyBubyBjaGVjaworICAgICAgZm9yIGJhZCBibG9ja3MuCisKK0NvbmZpZ3VyYXRpb24gT3B0aW9uczoKKworICAgQ0ZHX0NNRF9OQU5ECisgICAgICBBIGdvb2Qgb25lIHRvIGFkZCB0byBDT05GSUdfQ09NTUFORFMgc2luY2UgaXQgZW5hYmxlcyBOQU5EIHN1cHBvcnQuCisKKyAgIENPTkZJR19NVERfTkFORF9FQ0NfSkZGUzIKKyAgICAgIERlZmluZSB0aGlzIGlmIHlvdSB3YW50IHRoZSBFcnJvciBDb3JyZWN0aW9uIENvZGUgaW5mb3JtYXRpb24gaW4KKyAgICAgIHRoZSBvdXQtb2YtYmFuZCBkYXRhIHRvIGJlIGZvcm1hdHRlZCB0byBtYXRjaCB0aGUgSkZGUzIgZmlsZSBzeXN0ZW0uCisgICAgICBDT05GSUdfTVREX05BTkRfRUNDX1lBRkZTIHdvdWxkIGJlIGFub3RoZXIgdXNlZnVsIGNob2ljZSBmb3IKKyAgICAgIHNvbWVvbmUgdG8gaW1wbGVtZW50LgorCisgICBDRkdfTUFYX05BTkRfREVWSUNFCisgICAgICBUaGUgbWF4aW11bSBudW1iZXIgb2YgTkFORCBkZXZpY2VzIHlvdSB3YW50IHRvIHN1cHBvcnQuCisKK05BTkQgSW50ZXJmYWNlOgorCisgICAjZGVmaW5lIE5BTkRfV0FJVF9SRUFEWShuYW5kKQorICAgICAgV2FpdCB1bnRpbCB0aGUgTkFORCBmbGFzaCBpcyByZWFkeS4gVHlwaWNhbGx5IHRoaXMgd291bGQgYmUgYQorICAgICAgbG9vcCB3YWl0aW5nIGZvciB0aGUgUkVBRFkvQlVTWSBsaW5lIGZyb20gdGhlIGZsYXNoIHRvIGluZGljYXRlIGl0CisgICAgICBpdCBpcyByZWFkeS4KKworICAgI2RlZmluZSBXUklURV9OQU5EX0NPTU1BTkQoZCwgYWRyKQorICAgICAgV3JpdGUgdGhlIGNvbW1hbmQgYnl0ZSBgZCcgdG8gdGhlIGZsYXNoIGF0IGBhZHInIHdpdGggdGhlCisgICAgICBDTEUgKGNvbW1hbmQgbGF0Y2ggZW5hYmxlKSBsaW5lIHRydWUuIElmIHlvdXIgYm9hcmQgdXNlcyB3cml0ZXMgdG8KKyAgICAgIGRpZmZlcmVudCBhZGRyZXNzZXMgdG8gY29udHJvbCBDTEUgYW5kIEFMRSwgeW91IGNhbiBtb2RpZnkgYGFkcicKKyAgICAgIHRvIGJlIHRoZSBhcHByb3ByaWF0ZSBhZGRyZXNzIGhlcmUuIElmIHlvdXIgYm9hcmQgdXNlcyBJL08gcmVnaXN0ZXJzCisgICAgICB0byBjb250cm9sIHRoZW0sIGl0IGlzIHByb2JhYmx5IGJldHRlciB0byBsZXQgTkFORF9DVExfU0VUQ0xFKCkKKyAgICAgIGFuZCBjb21wYW55IGRvIGl0LgorCisgICAjZGVmaW5lIFdSSVRFX05BTkRfQUREUkVTUyhkLCBhZHIpCisgICAgICBXcml0ZSB0aGUgYWRkcmVzcyBieXRlIGBkJyB0byB0aGUgZmxhc2ggYXQgYGFkcicgd2l0aCB0aGUKKyAgICAgIEFMRSAoYWRkcmVzcyBsYXRjaCBlbmFibGUpIGxpbmUgdHJ1ZS4gSWYgeW91ciBib2FyZCB1c2VzIHdyaXRlcyB0bworICAgICAgZGlmZmVyZW50IGFkZHJlc3NlcyB0byBjb250cm9sIENMRSBhbmQgQUxFLCB5b3UgY2FuIG1vZGlmeSBgYWRyJworICAgICAgdG8gYmUgdGhlIGFwcHJvcHJpYXRlIGFkZHJlc3MgaGVyZS4gSWYgeW91ciBib2FyZCB1c2VzIEkvTyByZWdpc3RlcnMKKyAgICAgIHRvIGNvbnRyb2wgdGhlbSwgaXQgaXMgcHJvYmFibHkgYmV0dGVyIHRvIGxldCBOQU5EX0NUTF9TRVRBTEUoKQorICAgICAgYW5kIGNvbXBhbnkgZG8gaXQuCisKKyAgICNkZWZpbmUgV1JJVEVfTkFORChkLCBhZHIpCisgICAgICBXcml0ZSB0aGUgZGF0YSBieXRlIGBkJyB0byB0aGUgZmxhc2ggYXQgYGFkcicgd2l0aCB0aGUKKyAgICAgIEFMRSBhbmQgQ0xFIGxpbmVzIGZhbHNlLiBJZiB5b3VyIGJvYXJkIHVzZXMgd3JpdGVzIHRvCisgICAgICBkaWZmZXJlbnQgYWRkcmVzc2VzIHRvIGNvbnRyb2wgQ0xFIGFuZCBBTEUsIHlvdSBjYW4gbW9kaWZ5IGBhZHInCisgICAgICB0byBiZSB0aGUgYXBwcm9wcmlhdGUgYWRkcmVzcyBoZXJlLiBJZiB5b3VyIGJvYXJkIHVzZXMgSS9PIHJlZ2lzdGVycworICAgICAgdG8gY29udHJvbCB0aGVtLCBpdCBpcyBwcm9iYWJseSBiZXR0ZXIgdG8gbGV0IE5BTkRfQ1RMX0NMUkFMRSgpCisgICAgICBhbmQgY29tcGFueSBkbyBpdC4KKworICAgI2RlZmluZSBSRUFEX05BTkQoYWRyKQorICAgICAgUmVhZCBhIGRhdGEgYnl0ZSBmcm9tIHRoZSBmbGFzaCBhdCBgYWRyJyB3aXRoIHRoZQorICAgICAgQUxFIGFuZCBDTEUgbGluZXMgZmFsc2UuIElmIHlvdXIgYm9hcmQgdXNlcyByZWFkcyBmcm9tCisgICAgICBkaWZmZXJlbnQgYWRkcmVzc2VzIHRvIGNvbnRyb2wgQ0xFIGFuZCBBTEUsIHlvdSBjYW4gbW9kaWZ5IGBhZHInCisgICAgICB0byBiZSB0aGUgYXBwcm9wcmlhdGUgYWRkcmVzcyBoZXJlLiBJZiB5b3VyIGJvYXJkIHVzZXMgSS9PIHJlZ2lzdGVycworICAgICAgdG8gY29udHJvbCB0aGVtLCBpdCBpcyBwcm9iYWJseSBiZXR0ZXIgdG8gbGV0IE5BTkRfQ1RMX0NMUkFMRSgpCisgICAgICBhbmQgY29tcGFueSBkbyBpdC4KKworICAgI2RlZmluZSBOQU5EX0RJU0FCTEVfQ0UobmFuZCkKKyAgICAgIFNldCBDRSAoQ2hpcCBFbmFibGUpIGxvdyB0byBlbmFibGUgdGhlIE5BTkQgZmxhc2guCisKKyAgICNkZWZpbmUgTkFORF9FTkFCTEVfQ0UobmFuZCkKKyAgICAgIFNldCBDRSAoQ2hpcCBFbmFibGUpIGhpZ2ggdG8gZGlzYWJsZSB0aGUgTkFORCBmbGFzaC4KKworICAgI2RlZmluZSBOQU5EX0NUTF9DTFJBTEUobmFuZHB0cikKKyAgICAgIFNldCBBTEUgKGFkZHJlc3MgbGF0Y2ggZW5hYmxlKSBsb3cuIElmIEFMRSBjb250cm9sIGlzIGhhbmRsZWQgYnkKKyAgICAgIFdSSVRFX05BTkRfQUREUkVTUygpIHRoaXMgY2FuIGJlIGVtcHR5LgorCisgICAjZGVmaW5lIE5BTkRfQ1RMX1NFVEFMRShuYW5kcHRyKQorICAgICAgU2V0IEFMRSAoYWRkcmVzcyBsYXRjaCBlbmFibGUpIGhpZ2guIElmIEFMRSBjb250cm9sIGlzIGhhbmRsZWQgYnkKKyAgICAgIFdSSVRFX05BTkRfQUREUkVTUygpIHRoaXMgY2FuIGJlIGVtcHR5LgorCisgICAjZGVmaW5lIE5BTkRfQ1RMX0NMUkNMRShuYW5kcHRyKQorICAgICAgU2V0IENMRSAoY29tbWFuZCBsYXRjaCBlbmFibGUpIGxvdy4gSWYgQ0xFIGNvbnRyb2wgaXMgaGFuZGxlZCBieQorICAgICAgV1JJVEVfTkFORF9BRERSRVNTKCkgdGhpcyBjYW4gYmUgZW1wdHkuCisKKyAgICNkZWZpbmUgTkFORF9DVExfU0VUQ0xFKG5hbmRwdHIpCisgICAgICBTZXQgQ0xFIChjb21tYW5kIGxhdGNoIGVuYWJsZSkgaGlnaC4gSWYgQ0xFIGNvbnRyb2wgaXMgaGFuZGxlZCBieQorICAgICAgV1JJVEVfTkFORF9BRERSRVNTKCkgdGhpcyBjYW4gYmUgZW1wdHkuCisJCitNb3JlIERlZmluaXRpb25zOgorCisgICBUaGVzZSBkZWZpbml0aW9ucyBhcmUgbmVlZGVkIGluIHRoZSBib2FyZCBjb25maWd1cmF0aW9uIGZvciBub3csIGJ1dAorICAgbWF5IHJlYWxseSBiZWxvbmcgaW4gYSBoZWFkZXIgZmlsZS4KKyAgIFRPRE86IEZpZ3VyZSB3aGljaCBvbmVzIGFyZSB0cnVseSBjb25maWd1cmF0aW9uIHNldHRpbmdzIGFuZCByZW5hbWUKKyAgICAgICAgIHRoZW0gdG8gQ0ZHX05BTkRfLi4uIGFuZCBtb3ZlIHRoZSByZXN0IHNvbWV3aGVyZSBhcHByb3ByaWF0ZS4KKworICAgI2RlZmluZSBTRUNUT1JTSVpFIDUxMgorICAgI2RlZmluZSBBRERSX0NPTFVNTiAxCisgICAjZGVmaW5lIEFERFJfUEFHRSAyCisgICAjZGVmaW5lIEFERFJfQ09MVU1OX1BBR0UgMworICAgI2RlZmluZSBOQU5EX0NoaXBJRF9VTktOT1dOIDB4MDAKKyAgICNkZWZpbmUgTkFORF9NQVhfRkxPT1JTIDEKKyAgICNkZWZpbmUgTkFORF9NQVhfQ0hJUFMgMQorCmRpZmYgLS1naXQgYS9kb2MvVE9ETy1pMzg2IGIvZG9jL1RPRE8taTM4NgppbmRleCAwOTY5Y2JjLi44NDExM2Y4IDEwMDY0NAotLS0gYS9kb2MvVE9ETy1pMzg2CisrKyBiL2RvYy9UT0RPLWkzODYKQEAgLTQsOCArNCw2IEBACiAqIHNldHVwIHRoZSBCSU9TIGRhdGEgYXJlYSBhbmQgQklPUyBlcXVpcG1lbnQgd29yZCB0byByZWZsZWN0IG1hY2hpbmUgY29uZmlnLiAKICogTWFrZSByZXNldCB3b3JrIChmcm9tIExpbnV4IGFuZCBmcm9tIHRoZSBib290IHByb21wdCkKICogRE1BLCBGREMsIFJUQywgS0JDIGluaXRpYWxpemF0aW9uCi0qIHZpZGVvIGNhcmQgc3VwcG9ydCAoY2FsbCBCSU9TIHRvIGluaXRpYWxpemUsIHVzZSBoZWxwZXIgcm91dHJpbmUgaW4gQlNQIHRvIHNoYWRvdyAKLSAgdmlkZW8gcm9tIGlmIG9uIHBjaSkgYW5kIFBDIGtleWJvYXJkCiAqIHNwbGl0IG9mIHBhcnQgb2YgY3B1L2kzODYvaW50ZXJydXB0LmMgdG8gY3B1L2kzODUvZW50cnkuYz8KICogcmUtZW50cnkgb2YgcHJvdGVjdGVkIG1vZGUgZnJvbSByZWFsIG1vZGUsIHNob3VsZCBiZSBhZGRlZCB0byByZWFsbW9kZV9zd2l0Y2guUyAKICAgKGFuZCB1c2VkIGJ5IElOVCAxMGggYW5kIElOVCAxNmggaGFuZGxlcnMgZm9yIGNvbnNvbGUgSS9PIGR1cmluZyBlYXJseQpAQCAtMTMsOCArMTEsNiBAQAogKiBtaXNzaW5nIGZ1bmN0aW9ucyBpbiBsaWJfaTM4NiBhbmQgY3B1L2kzODYKICogc3BlYWtlciBiZWVwIGludGVyZmFjZQogCi1pMzg2IHBvcnQgYnVnczoKLSogSURFIGRvZXMgbm90IHdvcmsgCiAKIFNDNTIwIG1pc3NpbmcgZmVhdHVyZXM6CiAqIFdhdGNoZG9nCkBAIC0yNCwxNiArMjAsMTAgQEAKICogU0M1MjAgTU1DUiByZXNldCAKIAogU0M1MjAgQ0RQIGJvYXJkIHN1cHBvcnQgbWlzc2luZyBmZWF0dXJlczoKLSogU3luY2hyb25pdXMgc2VyaWFsIHBvcnQgYW5kIHNlcmllbCBFRVBST00KLSogZW52aXJvbm1lbnQgaW4gU0VFUAotKiBlbnZpcm9ubWVudCBpbiBmbGFzaAogKiBlbnZpcm9ubWVudCBpbiBzcmFtCi0qIHN0YXR1cyBMRUQgPwotKiBmbGFzaCBkcml2ZXIKIAogU0M1MjAgQ0RQIGJvYXJkIHN1cHBvcnQgYnVnczoKKyogU1BJIEVFUFJPTSBzdXBwb3J0IGRvZXMgbm90IHdvcmsKICogMHg2ODAgTEVEUyBkb3Mgbm90IHdvcmsgZm9yIG1lCiAqIGlzIGl0IHBvc3NpYmxlIHRvIG1ha2UgYm90aCB0aGUgaW50ZXJuYWwgc2VyaWFsIHBvcnRzIGFuZCB0aGUgCiAgIHBvcnRzIG9uIHRoZSBzaW8gd29yayBhdCB0aGUgc2FtZSB0aW1lPwotKiBhbGkgc2lvIGNpbyBsaW5lcz8KLSogT24tYm9yYWQgZXRoZXJuZXQgZG9lcyBub3Qgd29yayBmcm9tIExpbnV4CmRpZmYgLS1naXQgYS9kcml2ZXJzL01ha2VmaWxlIGIvZHJpdmVycy9NYWtlZmlsZQppbmRleCBjMjhlZDlmLi4yNzdkNmY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvTWFrZWZpbGUKQEAgLTI3LDE2ICsyNywyMyBAQAogCiBMSUIJPSBsaWJkcml2ZXJzLmEKIAotT0JKUwk9IDNjNTg5Lm8gNTcwMXJscy5vIGF0OTFybTkyMDBfZXRoZXIubyBcCi0JICBiY201NzB4Lm8gYmNtNTcweF9hdXRvbmVnLm8gXAotCSAgY2ZiX2NvbnNvbGUubyBjczg5MDAubyBjdDY5MDAwLm8gZGMyMTE0eC5vIFwKK09CSlMJPSAzYzU4OS5vIDU3MDFybHMubyBhbGk1MTJ4Lm8gYXQ5MXJtOTIwMF9ldGhlci5vIFwKKwkgIGJjbTU3MHgubyBiY201NzB4X2F1dG9uZWcubyBjZmJfY29uc29sZS5vIFwKKwkgIGNzODkwMC5vIGN0NjkwMDAubyBkYzIxMTR4Lm8gICAgICAgICAgXAogCSAgZWVwcm8xMDAubyBpODA0Mi5vIGk4MjM2NS5vIGluY2EtaXBfc3cubyBcCi0JICBsYW45MWM5Ni5vIG5hdHNlbWkubyBuczE2NTUwLm8gbnM4MzgyeC5vIG5zODczMDgubyBcCisJICBsYW45MWM5Ni5vICAgICAgICAgICAgIG5hdHNlbWkubyBcCisJICBuczE2NTUwLm8gbnM4MzgyeC5vIG5zODczMDgubyBcCiAJICBwY2kubyBwY2lfYXV0by5vIHBjaV9pbmRpcmVjdC5vIFwKIAkgIHBjbmV0Lm8gcGxiMjgwMF9ldGgubyBcCiAJICBzM2MyNHgwX2kyYy5vIHNlZDEzODA2Lm8gc2VyaWFsLm8gXAotCSAgc21jOTExMTEubyBzbWlMeW54RU0ubyBzeW01M2M4eHgubyBcCi0JICB0aWdvbjMubyB3ODNjNTUzZi5vCisJICBzbWM5MTExMS5vIHNtaUx5bnhFTS5vICAgICAgICAgICAgICBzeW01M2M4eHgubyBcCisJICB0aV9wY2kxNDEwYS5vIHRpZ29uMy5vIHc4M2M1NTNmLm8KKworIyMgRGlzYWJsZWQgZm9yIG5vdzoKKyMjCSAgY3M4OTAwLm8gY3Q2OTAwMC5vIGRjMjExNHgubyBkczE3MjIubyBcCisjIwkgIGxhbjkxYzk2Lm8gbXdfZWVwcm9tLm8gbmF0c2VtaS5vIFwKKyMjCSAgc21jOTExMTEubyBzbWlMeW54RU0ubyBzcGlfZWVwcm9tLm8gc3ltNTNjOHh4Lm8gXAorIyMKIAogYWxsOgkkKExJQikKIApkaWZmIC0tZ2l0IGEvbGliX2kzODYvaWMvYWxpNTEyeC5jIGIvZHJpdmVycy9hbGk1MTJ4LmMKc2ltaWxhcml0eSBpbmRleCA4MSUKcmVuYW1lIGZyb20gbGliX2kzODYvaWMvYWxpNTEyeC5jCnJlbmFtZSB0byBkcml2ZXJzL2FsaTUxMnguYwppbmRleCA0NTM3MDk1Li5lNTJlZGQwIDEwMDY0NAotLS0gYS9saWJfaTM4Ni9pYy9hbGk1MTJ4LmMKKysrIGIvZHJpdmVycy9hbGk1MTJ4LmMKQEAgLTMwLDYgKzMwLDEwIEBACiAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCisjaW5jbHVkZSA8Y29uZmlnLmg+CisKKyNpZmRlZiBDT05GSUdfQUxJMTUyWAorCiAjaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL2ljL2FsaTUxMnguaD4KQEAgLTYwLDE5ICs2NCwyMSBAQAogCW91dGIodmFsdWUsIEFMSV9EQVRBKTsKIH0KIAorI2lmIDAKIHN0YXRpYyBpbnQgYWxpX3JlYWQodTggaW5kZXgpCiB7CiAJb3V0YihpbmRleCwgQUxJX0lOREVYKTsKIAlyZXR1cm4gaW5iKEFMSV9EQVRBKTsKIH0KKyNlbmRpZgogCiAjZGVmaW5lIEFMSV9PUEVOKCkgXAotCW91dGIoMHg1MSwgQUxJX0RBVEEpOyBcCi0Jb3V0YigweDIzLCBBTElfREFUQSkJCisJb3V0YigweDUxLCBBTElfSU5ERVgpOyBcCisJb3V0YigweDIzLCBBTElfSU5ERVgpCQogCiAKICNkZWZpbmUgQUxJX0NMT1NFKCkgXAotCW91dGIoMHhiYiwgQUxJX0RBVEEpCisJb3V0YigweGJiLCBBTElfSU5ERVgpCiAKIC8qIFNlbGVjdCBhIGxvZ2ljYWwgZGV2aWNlICovCiAjZGVmaW5lIEFMSV9TRUxERVYoZGV2KQlcCkBAIC0yNDYsMjIgKzI1MiwyMiBAQAogICogQ0lPMzYgICAgIEFMVF9NREFUICAgIEFsdGVybmF0aXZlIE1vdXNlIERhdGEKICAqIENJTzM3ICAgICBBTFRfS0JDICAgICBBbHRlcm5hdGl2ZSBLQkMgc2VsZWN0CiAgKgotICogVGhlIENJTyB1c2UgYSBkb3VibGUgaW5kaXJlY3QgYWRkcmVzcyBzY2hlbWUuIAorICogVGhlIENJTyB1c2UgYW4gaW5kaXJlY3QgYWRkcmVzcyBzY2hlbWUuIAogICogCi0gKiBSZWlnc3RlciAzIGluIHRoZSBTSU8gaXMgdXNlZCB0byBzZWxlY3RnIHdoZXJlIHRoZSBDSU8gCi0gKiBJL08gcmVnaXN0ZXJzIHNob3cgdXAgdW5kZXIgZnVuY3Rpb24gOC4gTm90ZSB0aGF0IHRoZXNlCi0gKiByZWdpc3RlcnMgY2xhc2ggd2l0aCB0aGUgQ0lPIGZ1bmN0aW9uIHNlbGVjdCByZWdzdGVycywKLSAqIGJlbG93LgorICogUmVpZ3N0ZXIgMyBpbiB0aGUgU0lPIGlzIHVzZWQgdG8gc2VsZWN0IHRoZSBpbmRleCBhbmQgZGF0YQorICogcG9ydCBhZGRyZXNzZXMgd2hlcmUgdGhlIENJTyBJL08gcmVnaXN0ZXJzIHNob3cgdXAuCisgKiBUaGUgZnVuY3Rpb24gc2VsZWN0aW9uIHJlZ2lzdGVycyBhcmUgYWNjZXNzaWJsZSB1bmRlciAKKyAqIGZ1bmN0aW9uIFNJTyA4LiAKICAqIAogICogU0lPIHJlaWdzdGVyIDMgKENJTyBBZGRyZXNzIFNlbGVjdGlvbikgYml0IGRlZmluaXRpb25zOgotICogYml0IDcgICBDSU8gZGF0YSByZWdpc3RlciBlbmFibGVkCi0gKiBiaXQgMS0wIENJTyBpbmRpcmVjdCByZWdpc3RlcnMgc2VsZWN0CisgKiBiaXQgNyAgIENJTyBpbmRleCBhbmQgZGF0YSByZWdpc3RlcnMgZW5hYmxlZAorICogYml0IDEtMCBDSU8gaW5kaXJlY3QgcmVnaXN0ZXJzIHBvcnQgYWRkcmVzcyBzZWxlY3QKICAqICAgICAJIDAgIGluZGV4ID0gMHhFMCBkYXRhID0gMHhFMQogICogICAgICAgMSAgaW5kZXggPSAweEUyIGRhdGEgPSAweEUzCiAgKiAgICAgICAyICBpbmRleCA9IDB4RTQgZGF0YSA9IDB4RTUKICAqICAgICAgIDMgIGluZGV4ID0gMHhFQSBkYXRhID0gMHhFQgogICogCi0gKiBUaGVyZSBhcmUgdGhyZWUgQ0lPIEkvTyByZWdpc3RlciBhY2Nlc3NlZCB2aWEgQ0lPIGluZGV4IGFuZCBDSU8gZGF0YQorICogVGhlcmUgYXJlIHRocmVlIENJTyBJL08gcmVnaXN0ZXIgYWNjZXNzZWQgdmlhIENJTyBpbmRleCBwb3J0IGFuZCBDSU8gZGF0YSBwb3J0CiAgKiAweDAxICAgICBDSU8gMTAtMTcgZGF0YQogICogMHgwMiAgICAgQ0lPIDIwLTI1IGRhdGEgKGJpdHMgNy02IHVudXNlZCkKICAqIDB4MDMgICAgIENJTyAzMC0zNyBkYXRhCkBAIC0zMDUsNTAgKzMxMSw2MSBAQAogICogCiAgKi8KIAorI2RlZmluZSBBTElfQ0lPX1BPUlRfU0VMIDB4ODMKKyNkZWZpbmUgQUxJX0NJT19JTkRFWCAgICAweGVhCisjZGVmaW5lIEFMSV9DSU9fREFUQSAgICAgMHhlYgorCiB2b2lkIGFsaTUxMnhfc2V0X2NpbyhpbnQgZW5hYmxlZCkKIHsKIAlpbnQgaTsKIAkKIAlBTElfT1BFTigpOwotCWFsaV93cml0ZSgweDMsIDMpOyAgICAvKiBEaXNhYmxlIENJTyBkYXRhIHJlZ2lzdGVyICovCisJCisJaWYgKGVuYWJsZWQpIHsKKwkJYWxpX3dyaXRlKDB4MywgQUxJX0NJT19QT1JUX1NFTCk7ICAgIC8qIEVuYWJsZSBDSU8gZGF0YSByZWdpc3RlciAqLworCX0gZWxzZSB7CisJCWFsaV93cml0ZSgweDMsIEFMSV9DSU9fUE9SVF9TRUwgJiB+MHg4MCk7CisJfQogCQogCUFMSV9TRUxERVYoOCk7CisJCiAJYWxpX3dyaXRlKDB4MzAsIGVuYWJsZWQ/MTowKTsKIAkKIAkvKiBzZXQgYWxsIHBpbnMgdG8gaW5wdXQgdG8gc3RhcnQgd2l0aCAqLwogCWZvciAoaT0weGUwO2k8MHhlZTtpKyspIHsKIAkJYWxpX3dyaXRlKGksIDEpOwogCX0KKwkKIAlmb3IgKGk9MHhmNTtpPDB4ZmU7aSsrKSB7CiAJCWFsaV93cml0ZShpLCAxKTsKIAl9Ci0JCQkKKwkKIAlBTElfQ0xPU0UoKTsKIH0KIAorCiB2b2lkIGFsaTUxMnhfY2lvX2Z1bmN0aW9uKGludCBwaW4sIGludCBzcGVjaWFsLCBpbnQgaW52LCBpbnQgaW5wdXQpCiB7CiAJdTggZGF0YTsKIAl1OCBhZGRyOwogCQotCQogCS8qIHZhbGlkIHBpbnMgYXJlIDEwLTE3LCAyMC0yNSBhbmQgMzAtMzcgKi8KIAlpZiAocGluID49IDEwICYmIHBpbiA8PSAxNykgeyAKLQkJYWRkciA9IDB4ZTArKHBpbi0xMCk7CisJCWFkZHIgPSAweGUwKyhwaW4mNyk7CiAJfSBlbHNlIGlmIChwaW4gPj0gMjAgJiYgcGluIDw9IDI1KSB7Ci0JCWFkZHIgPSAweGU4KyhwaW4tMjApOworCQlhZGRyID0gMHhlOCsocGluJjcpOwogCX0gZWxzZSBpZiAocGluID49IDMwICYmIHBpbiA8PSAzNykgeyAKLQkJYWRkciA9IDB4ZjUrKHBpbi0zMCk7CisJCWFkZHIgPSAweGY1KyhwaW4mNyk7CiAJfSBlbHNlIHsKIAkJcmV0dXJuOwogCX0KIAkKIAlBTElfT1BFTigpOworCiAJQUxJX1NFTERFVig4KTsKIAkKLQlhbGlfd3JpdGUoMHgwMywgMHgwMyk7ICAgIC8qIERpc2FibGUgQ0lPIGRhdGEgcmVnaXN0ZXIgKi8KIAkKLQlkYXRhPTA7CisJZGF0YT0weGY0OwogCWlmIChzcGVjaWFsKSB7CiAJCWRhdGEgfD0gMHgwODsKIAl9IGVsc2UgewpAQCAtMzcxLDM3ICszODgsMTggQEAKIAl1OCBkYXRhOwogCXU4IGJpdDsKIAkKLQkvKiB2YWxpZCBwaW5zIGFyZSAxMC0xNywgMjAtMjUgYW5kIDMwLTM3ICovCi0JaWYgKHBpbiA+PSAxMCAmJiBwaW4gPD0gMTcpIHsgCi0JCXJlZyA9IDE7Ci0JCXBpbiAtPSAxMDsKLQl9IGVsc2UgaWYgKHBpbiA+PSAyMCAmJiBwaW4gPD0gMjUpIHsKLQkJcmVnID0gMjsKLQkJcGluIC09IDIwOwotCX0gZWxzZSBpZiAocGluID49IDMwICYmIHBpbiA8PSAzNykgeyAKLQkJcmVnID0gMzsKLQkJcGluIC09IDMwOwotCX0gZWxzZSB7Ci0JCXJldHVybjsKLQl9Ci0JYml0ID0gMSA8PCBwaW47CisJcmVnID0gcGluLzEwOworCWJpdCA9IDEgPDwgKHBpbiUxMCk7CiAJCi0JQUxJX09QRU4oKTsKLQlBTElfU0VMREVWKDgpOwotCQotCWFsaV93cml0ZSgweDAzLCAweDgzKTsgICAgLyogRW5hYmxlIENJTyBkYXRhIHJlZ2lzdGVyLCB1c2UgZGF0YSBwb3J0IGF0IDB4ZWEgKi8KLQkKLQlhbGlfd3JpdGUoMHhlYSwgcmVnKTsgICAgIC8qIHNlbGVjdCBJL08gcmVnaXN0ZXIgKi8KLQlkYXRhID0gYWxpX3JlYWQoMHhlYik7CisJCQorCW91dGIocmVnLCBBTElfQ0lPX0lOREVYKTsgICAgIC8qIHNlbGVjdCBJL08gcmVnaXN0ZXIgKi8KKwlkYXRhID0gaW5iKEFMSV9DSU9fREFUQSk7CiAJaWYgKHZhbHVlKSB7CiAJCWRhdGEgfD0gYml0OwogCX0gZWxzZSB7CiAJCWRhdGEgJj0gfmJpdDsKIAl9Ci0JYWxpX3dyaXRlKDB4ZWIsIGRhdGEpOwotCWFsaV93cml0ZSgweGVhLCAwKTsgICAgICAgLyogc2VsZWN0IHJlZ2lzdGVyIDAgKi8KLQlhbGlfd3JpdGUoMHgwMywgMHgwMyk7ICAgIC8qIERpc2FibGUgQ0lPIGRhdGEgcmVnaXN0ZXIgKi8KLQlBTElfQ0xPU0UoKTsKKwlvdXRiKGRhdGEsIEFMSV9DSU9fREFUQSk7CiB9CiAKIGludCBhbGk1MTJ4X2Npb19pbihpbnQgcGluKQpAQCAtNDA5LDM0ICs0MDcsMTcgQEAKIAl1OCByZWc7CiAJdTggZGF0YTsKIAl1OCBiaXQ7Ci0JCisJCQkKIAkvKiB2YWxpZCBwaW5zIGFyZSAxMC0xNywgMjAtMjUgYW5kIDMwLTM3ICovCi0JaWYgKHBpbiA+PSAxMCAmJiBwaW4gPD0gMTcpIHsgCi0JCXJlZyA9IDE7Ci0JCXBpbiAtPSAxMDsKLQl9IGVsc2UgaWYgKHBpbiA+PSAyMCAmJiBwaW4gPD0gMjUpIHsKLQkJcmVnID0gMjsKLQkJcGluIC09IDIwOwotCX0gZWxzZSBpZiAocGluID49IDMwICYmIHBpbiA8PSAzNykgeyAKLQkJcmVnID0gMzsKLQkJcGluIC09IDMwOwotCX0gZWxzZSB7Ci0JCXJldHVybiAtMTsgCi0JfQotCWJpdCA9IDEgPDwgcGluOworCXJlZyA9IHBpbi8xMDsKKwliaXQgPSAxIDw8IChwaW4lMTApOwogCQotCUFMSV9PUEVOKCk7Ci0JQUxJX1NFTERFVig4KTsKIAkKLQlhbGlfd3JpdGUoMHgwMywgMHg4Myk7ICAgIC8qIEVuYWJsZSBDSU8gZGF0YSByZWdpc3RlciwgdXNlIGRhdGEgcG9ydCBhdCAweGVhICovCi0JCi0JYWxpX3dyaXRlKDB4ZWEsIHJlZyk7ICAgICAvKiBzZWxlY3QgSS9PIHJlZ2lzdGVyICovCi0JZGF0YSA9IGFsaV9yZWFkKDB4ZWIpOwotCWFsaV93cml0ZSgweGVhLCAwKTsgICAgICAgLyogc2VsZWN0IHJlZ2lzdGVyIDAgKi8KLQlhbGlfd3JpdGUoMHgwMywgMHgwMyk7ICAgIC8qIERpc2FibGUgQ0lPIGRhdGEgcmVnaXN0ZXIgKi8KLQlBTElfQ0xPU0UoKTsKKwlvdXRiKHJlZywgQUxJX0NJT19JTkRFWCk7ICAgICAvKiBzZWxlY3QgSS9PIHJlZ2lzdGVyICovCisJZGF0YSA9IGluYihBTElfQ0lPX0RBVEEpOwogCQogCXJldHVybiBkYXRhICYgYml0OyAKIH0KIAogIAorI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RzMTcyMi5jIGIvZHJpdmVycy9kczE3MjIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNGViODBjCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9kczE3MjIuYwpAQCAtMCwwICsxLDE0MiBAQAorCisjaW5jbHVkZSA8Y29tbW9uLmg+CisKKyNpbmNsdWRlIDxzc2kuaD4KKworI2lmZGVmIENPTkZJR19EUzE3MjIKKworc3RhdGljIHZvaWQgZHMxNzIyX3NlbGVjdChpbnQgZGV2KQoreworCXNzaV9zZXRfaW50ZXJmYWNlKDQwOTYsIDAsIDAsIDApOworCXNzaV9jaGlwX3NlbGVjdCgwKTsKKwl1ZGVsYXkoMSk7CisJc3NpX2NoaXBfc2VsZWN0KGRldik7CisJdWRlbGF5KDEpOworfQorCisKK3U4IGRzMTcyMl9yZWFkKGludCBkZXYsIGludCBhZGRyKQoreworCXU4IHJlczsKKwkKKwlkczE3MjJfc2VsZWN0KGRldik7CisJCisJc3NpX3R4X2J5dGUoYWRkcik7CQorCXJlcyA9IHNzaV9yeF9ieXRlKCk7ICAgCQorCQorCXNzaV9jaGlwX3NlbGVjdCgwKTsKKwkKKwlyZXR1cm4gcmVzOworfQorCit2b2lkIGRzMTcyMl93cml0ZShpbnQgZGV2LCBpbnQgYWRkciwgdTggZGF0YSkKK3sKKwlkczE3MjJfc2VsZWN0KGRldik7CisJCisJc3NpX3R4X2J5dGUoMHg4MHxhZGRyKTsJCisJc3NpX3R4X2J5dGUoZGF0YSk7ICAgCQorCQorCXNzaV9jaGlwX3NlbGVjdCgwKTsKK30KKworCit1MTYgZHMxNzIyX3RlbXAoaW50IGRldiwgaW50IHJlc29sdXRpb24pCit7CisJc3RhdGljIGludCB1c2Vjb25kc1tdID0geworCQk3NTAwMCwgMTUwMDAwLCAzMDAwMDAsIDYwMDAwMCwgMTIwMDAwMCAKKwl9OworCWNoYXIgdGVtcDsKKwl1MTYgcmVzOworCQorCQorCS8qIHNldCB1cCB0aGUgZGVzaXJlZCByZXN1bG90aW9uIC4uLiAqLworCWRzMTcyMl93cml0ZShkZXYsIDAsIDB4ZTAgfCAocmVzb2x1dGlvbiA8PCAxKSk7CisJCQkKKwkvKiB3YWl0IHdoaWxlIHRoZSBjaGlwIG1lYXN1cmVzIHRoZSB0cmVtcGVyYXR1cmUgKi8KKwl1ZGVsYXkodXNlY29uZHNbcmVzb2x1dGlvbl0pOyAJCisJCisJcmVzID0gKHRlbXAgPSBkczE3MjJfcmVhZChkZXYsIDIpKSA8PCA4OworCQorCWlmICh0ZW1wIDwgMCkgeyAKKwkJdGVtcCA9ICgxNiAtIChkczE3MjJfcmVhZChkZXYsIDEpID4+IDQpKSAmIDB4MGY7CisJfSBlbHNlIHsKKwkJdGVtcCA9IChkczE3MjJfcmVhZChkZXYsIDEpID4+IDQpOworCX0KKwkKKwlzd2l0Y2ggKHRlbXApIHsKKwljYXNlIDA6CisJCS8qIC4wMDAwICovCisJCWJyZWFrOworCWNhc2UgMToKKwkJLyogLjA2MjUgKi8KKwkJcmVzIHw9MTsKKwkJYnJlYWs7CisJY2FzZSAyOgorCQkvKiAuMTI1MCAqLworCQlyZXMgfD0xOworCQlicmVhazsKKwljYXNlIDM6CisJCS8qIC4xODc1ICovCisJCXJlcyB8PTI7CisJCWJyZWFrOworCWNhc2UgNDoKKwkJLyogLjI1MDAgKi8KKwkJcmVzIHw9MzsKKwkJYnJlYWs7CisJY2FzZSA1OgorCQkvKiAuMzEyNSAqLworCQlyZXMgfD0zOworCQlicmVhazsKKwljYXNlIDY6CisJCS8qIC4zNzUwICovCisJCXJlcyB8PTQ7CisJCWJyZWFrOworCWNhc2UgNzoKKwkJLyogLjQzNzUgKi8KKwkJcmVzIHw9NDsKKwkJYnJlYWs7CisJY2FzZSA4OgorCQkvKiAuNTAwMCAqLworCQlyZXMgfD01OworCQlicmVhazsKKwljYXNlIDk6CisJCS8qIC41NjI1ICovCisJCXJlcyB8PTY7CisJCWJyZWFrOworCWNhc2UgMTA6CisJCS8qIC42MjUwICovCisJCXJlcyB8PTY7CisJCWJyZWFrOworCWNhc2UgMTE6CisJCS8qIC42ODc1ICovCisJCXJlcyB8PTc7CisJCWJyZWFrOworCWNhc2UgMTI6CisJCS8qIC43NTAwICovCisJCXJlcyB8PTg7CisJCWJyZWFrOworCWNhc2UgMTM6CisJCS8qIC44MTI1ICovCisJCXJlcyB8PTg7CisJCWJyZWFrOworCWNhc2UgMTQ6CisJCS8qIC44NzUwICovCisJCXJlcyB8PTk7CisJCWJyZWFrOworCWNhc2UgMTU6CisJCS8qIC45Mzc1ICovCisJCXJlcyB8PTk7CisJCWJyZWFrOworCX0KKwlyZXR1cm4gcmVzOworCQkJCit9CisKK2ludCBkczE3MjJfcHJvYmUoaW50IGRldikKK3sKKwl1MTYgdGVtcCA9IGRzMTcyMl90ZW1wKGRldiwgRFMxNzIyX1JFU09MVVRJT05fMTJCSVQpOworCXByaW50ZigiJWQuJWQgZGVnIENcblxuIiwgKGNoYXIpKHRlbXAgPj4gOCksIHRlbXAgJiAweGZmKTsKKwlyZXR1cm4gMDsKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2VlcHJvMTAwLmMgYi9kcml2ZXJzL2VlcHJvMTAwLmMKaW5kZXggYzhkMDdkZS4uYTBiYjc2ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9lZXBybzEwMC5jCisrKyBiL2RyaXZlcnMvZWVwcm8xMDAuYwpAQCAtMzMxLDggKzMzMSw4IEBACiAJCWRldiA9IChzdHJ1Y3QgZXRoX2RldmljZSAqKSBtYWxsb2MgKHNpemVvZiAqZGV2KTsKIAogCQlzcHJpbnRmIChkZXYtPm5hbWUsICJpODI1NTkjJWQiLCBjYXJkX251bWJlcik7CisJCWRldi0+cHJpdiA9ICh2b2lkICopIGRldm5vOyAvKiB0aGlzIGhhdmUgdG8gY29tZSBiZWZvcmUgYnVzX3RvX3BoeXMoKSAqLwogCQlkZXYtPmlvYmFzZSA9IGJ1c190b19waHlzIChpb2Jhc2UpOwotCQlkZXYtPnByaXYgPSAodm9pZCAqKSBkZXZubzsKIAkJZGV2LT5pbml0ID0gZWVwcm8xMDBfaW5pdDsKIAkJZGV2LT5oYWx0ID0gZWVwcm8xMDBfaGFsdDsKIAkJZGV2LT5zZW5kID0gZWVwcm8xMDBfc2VuZDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXdfZWVwcm9tLmMgYi9kcml2ZXJzL213X2VlcHJvbS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwYTUxZmEKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL213X2VlcHJvbS5jCkBAIC0wLDAgKzEsMjQyIEBACisvKiBUaHJlZS13aXJlIChNaWNyb1dpcmUpIHNlcmlhbCBlZXByb20gZHJpdmVyIChmb3IgOTNDNDYgYW5kIGNvbXBhdGlibGVzKSAqLworCisjaW5jbHVkZSA8Y29tbW9uLmg+CisjaW5jbHVkZSA8c3NpLmg+CisKKworI2lmZGVmIENPTkZJR19NV19FRVBST00KKworLyoKKyAqIFNlcmlhbCBFRVBST00gb3Bjb2RlcywgaW5jbHVkaW5nIHN0YXJ0IGJpdAorICovCisjZGVmaW5lIEVFUF9PUENfRVJBU0UJMHg3ICAvKiAzLWJpdCBvcGNvZGUgKi8KKyNkZWZpbmUgRUVQX09QQ19XUklURQkweDUgIC8qIDMtYml0IG9wY29kZSAqLworI2RlZmluZSBFRVBfT1BDX1JFQUQJICAgICAgICAweDYgIC8qIDMtYml0IG9wY29kZSAqLworCisjZGVmaW5lIEVFUF9PUENfRVJBU0VfQUxMCTB4MTIgLyogNS1iaXQgb3Bjb2RlICovCisjZGVmaW5lIEVFUF9PUENfRVJBU0VfRU4JMHgxMyAvKiA1LWJpdCBvcGNvZGUgKi8KKyNkZWZpbmUgRUVQX09QQ19XUklURV9BTEwJMHgxMSAvKiA1LWJpdCBvcGNvZGUgKi8KKyNkZWZpbmUgRUVQX09QQ19FUkFTRV9ESVMJMHgxMCAvKiA1LWJpdCBvcGNvZGUgKi8KKworc3RhdGljIGludCBhZGRybGVuOworCitzdGF0aWMgdm9pZCBtd19lZXByb21fc2VsZWN0KGludCBkZXYpCit7CisJc3NpX3NldF9pbnRlcmZhY2UoMjA0OCwgMCwgMCwgMCk7CisJc3NpX2NoaXBfc2VsZWN0KDApOworCXVkZWxheSgxKTsKKwlzc2lfY2hpcF9zZWxlY3QoZGV2KTsKKwl1ZGVsYXkoMSk7Cit9CisKK3N0YXRpYyBpbnQgbXdfZWVwcm9tX3NpemUoaW50IGRldikKK3sKKwlpbnQgeDsKKwl1MTYgcmVzOworCQkKKwltd19lZXByb21fc2VsZWN0KGRldik7CisJc3NpX3R4X2J5dGUoRUVQX09QQ19SRUFEKTsKKwkKKwlyZXMgPSBzc2lfdHhyeF9ieXRlKDApIDw8IDg7CisJcmVzIHw9IHNzaV9yeF9ieXRlKCk7CisJZm9yICh4ID0gMDsgeCA8IDE2OyB4KyspIHsKKwkJaWYgKCEgKHJlcyAmIDB4ODAwMCkpIHsKKwkJCWJyZWFrOworCQl9CisJCXJlcyA8PD0gMTsKKwl9CisJc3NpX2NoaXBfc2VsZWN0KDApOworCQorCXJldHVybiB4OworfQorCitpbnQgbXdfZWVwcm9tX2VyYXNlX2VuYWJsZShpbnQgZGV2KQoreworCW13X2VlcHJvbV9zZWxlY3QoZGV2KTsKKwlzc2lfdHhfYnl0ZShFRVBfT1BDX0VSQVNFX0VOKTsKKwlzc2lfdHhfYnl0ZSgwKTsKKwl1ZGVsYXkoMSk7CisJc3NpX2NoaXBfc2VsZWN0KDApOworCQkKKwlyZXR1cm4gMDsKK30KKworaW50IG13X2VlcHJvbV9lcmFzZV9kaXNhYmxlKGludCBkZXYpCit7CQorCW13X2VlcHJvbV9zZWxlY3QoZGV2KTsKKwlzc2lfdHhfYnl0ZShFRVBfT1BDX0VSQVNFX0RJUyk7CisJc3NpX3R4X2J5dGUoMCk7CisJdWRlbGF5KDEpOworCXNzaV9jaGlwX3NlbGVjdCgwKTsKKwkJCisJcmV0dXJuIDA7Cit9CisKKwordTMyIG13X2VlcHJvbV9yZWFkX3dvcmQoaW50IGRldiwgaW50IGFkZHIpCit7CisJdTE2IHJjdjsKKwl1MTYgcmVzOworCWludCBiaXRzOworCQorCW13X2VlcHJvbV9zZWxlY3QoZGV2KTsKKwlzc2lfdHhfYnl0ZSgoRUVQX09QQ19SRUFEIDw8IDUpIHwgKChhZGRyID4+IChhZGRybGVuIC0gNSkpICYgMHgxZikpOworCXJjdiA9IHNzaV90eHJ4X2J5dGUoYWRkciA8PCAoMTMgLSBhZGRybGVuKSk7CisJcmVzID0gcmN2IDw8ICgxNiAtIGFkZHJsZW4pOworCWJpdHMgPSA0ICsgYWRkcmxlbjsKKwkKKwl3aGlsZSAoYml0cz4wKSB7CisJCXJjdiA9IHNzaV9yeF9ieXRlKCk7CisJCWlmIChiaXRzID4gNykgeworCQkJcmVzIHw9IHJjdiA8PCAoYml0cyAtIDgpOworCQl9IGVsc2UgeworCQkJcmVzIHw9IHJjdiA+PiAoOCAtIGJpdHMpOworCQl9CisJCWJpdHMgLT0gODsKKwl9CisJCisJc3NpX2NoaXBfc2VsZWN0KDApOworCQorCXJldHVybiByZXM7Cit9CisKK2ludCBtd19lZXByb21fd3JpdGVfd29yZChpbnQgZGV2LCBpbnQgYWRkciwgdTE2IGRhdGEpCit7CisJdTggYnl0ZTE9MDsKKwl1OCBieXRlMj0wOworCQorCW13X2VlcHJvbV9lcmFzZV9lbmFibGUoZGV2KTsKKwltd19lZXByb21fc2VsZWN0KGRldik7CisJCisJc3dpdGNoIChhZGRybGVuKSB7CisJIGNhc2UgNjoKKwkJYnl0ZTEgPSBFRVBfT1BDX1dSSVRFID4+IDI7CisJCWJ5dGUyID0gKEVFUF9PUENfV1JJVEUgPDwgNikmMHhjMDsKKwkJYnl0ZTIgfD0gYWRkcjsKKwkJYnJlYWs7CisJIGNhc2UgNzoKKwkJYnl0ZTEgPSBFRVBfT1BDX1dSSVRFID4+IDE7CisJCWJ5dGUyID0gKEVFUF9PUENfV1JJVEUgPDwgNykmMHg4MDsKKwkJYnl0ZTIgfD0gYWRkcjsKKwkJYnJlYWs7CisJIGNhc2UgODoKKwkJYnl0ZTEgPSBFRVBfT1BDX1dSSVRFOworCQlieXRlMiA9IGFkZHI7CisJCWJyZWFrOworCSBjYXNlIDk6CisJCWJ5dGUxID0gRUVQX09QQ19XUklURSA8PCAxOworCQlieXRlMSB8PSBhZGRyID4+IDg7CisJCWJ5dGUyID0gYWRkciAmIDB4ZmY7CisJCWJyZWFrOworCSBjYXNlIDEwOgorCQlieXRlMSA9IEVFUF9PUENfV1JJVEUgPDwgMjsKKwkJYnl0ZTEgfD0gYWRkciA+PiA4OworCQlieXRlMiA9IGFkZHIgJiAweGZmOworCQlicmVhazsKKwkgZGVmYXVsdDoKKwkJcHJpbnRmKCJVbnN1cHBvcnRlZCBudW1iZXIgb2YgYWRkcmVzcyBiaXRzOiAlZFxuIiwgYWRkcmxlbik7CisJCXJldHVybiAtMTsKKwkJCisJfQorCQorCXNzaV90eF9ieXRlKGJ5dGUxKTsKKwlzc2lfdHhfYnl0ZShieXRlMik7CisJc3NpX3R4X2J5dGUoZGF0YSA+PiA4KTsJCisJc3NpX3R4X2J5dGUoZGF0YSAmIDB4ZmYpOworCXNzaV9jaGlwX3NlbGVjdCgwKTsJCisJdWRlbGF5KDEwMDAwKTsgLyogV29yc3QgY2FzZSAqLworCW13X2VlcHJvbV9lcmFzZV9kaXNhYmxlKGRldik7CisKKwlyZXR1cm4gMDsKK30KKworCitpbnQgbXdfZWVwcm9tX3dyaXRlKGludCBkZXYsIGludCBhZGRyLCB1OCAqYnVmZmVyLCBpbnQgbGVuKQoreworCWludCBkb25lOworCQorCWRvbmUgPSAwOworCWlmIChhZGRyICYgMSkgeworCQl1MTYgdGVtcCA9IG13X2VlcHJvbV9yZWFkX3dvcmQoZGV2LCBhZGRyID4+IDEpOworCQl0ZW1wICY9IDB4ZmYwMDsKKwkJdGVtcCB8PSBidWZmZXJbMF07CisJCQorCQltd19lZXByb21fd3JpdGVfd29yZChkZXYsIGFkZHIgPj4gMSwgdGVtcCk7CisJCWxlbi0tOworCQlhZGRyKys7CisJCWJ1ZmZlcisrOworCQlkb25lKys7CisJfQorCQorCXdoaWxlIChsZW4gPD0gMikgeworCQltd19lZXByb21fd3JpdGVfd29yZChkZXYsIGFkZHIgPj4gMSwgKih1MTYqKWJ1ZmZlcik7CisJCWxlbi09MjsKKwkJYWRkcis9MjsKKwkJYnVmZmVyKz0yOworCQlkb25lKz0yOworCX0KKworCWlmIChsZW4pIHsKKwkJdTE2IHRlbXAgPSBtd19lZXByb21fcmVhZF93b3JkKGRldiwgYWRkciA+PiAxKTsKKwkJdGVtcCAmPSAweDAwZmY7CisJCXRlbXAgfD0gYnVmZmVyWzBdIDw8IDg7CisJCQorCQltd19lZXByb21fd3JpdGVfd29yZChkZXYsIGFkZHIgPj4gMSwgdGVtcCk7CisJCWxlbi0tOworCQlhZGRyKys7CisJCWJ1ZmZlcisrOworCQlkb25lKys7CisJfQorCisJcmV0dXJuIGRvbmU7Cit9CisKKworCitpbnQgbXdfZWVwcm9tX3JlYWQoaW50IGRldiwgaW50IGFkZHIsIHU4ICpidWZmZXIsIGludCBsZW4pCit7CisJaW50IGRvbmU7CisJCisJZG9uZSA9IDA7CisJaWYgKGFkZHIgJiAxKSB7CisJCXUxNiB0ZW1wID0gbXdfZWVwcm9tX3JlYWRfd29yZChkZXYsIGFkZHIgPj4gMSk7CisJCWJ1ZmZlclswXT0gdGVtcCAmIDB4ZmY7CisJCQorCQlsZW4tLTsKKwkJYWRkcisrOworCQlidWZmZXIrKzsKKwkJZG9uZSsrOworCX0KKwkKKwl3aGlsZSAobGVuIDw9IDIpIHsKKwkJKih1MTYqKWJ1ZmZlciA9IG13X2VlcHJvbV9yZWFkX3dvcmQoZGV2LCBhZGRyID4+IDEpOworCQlsZW4tPTI7CisJCWFkZHIrPTI7CisJCWJ1ZmZlcis9MjsKKwkJZG9uZSs9MjsKKwl9CisKKwlpZiAobGVuKSB7CisJCXUxNiB0ZW1wID0gbXdfZWVwcm9tX3JlYWRfd29yZChkZXYsIGFkZHIgPj4gMSk7CisJCWJ1ZmZlclswXSA9IHRlbXAgPj4gODsKKwkJCisJCWxlbi0tOworCQlhZGRyKys7CisJCWJ1ZmZlcisrOworCQlkb25lKys7CisJfQorCisJcmV0dXJuIGRvbmU7Cit9CisKK2ludCBtd19lZXByb21fcHJvYmUoaW50IGRldikKK3sKKwlhZGRybGVuID0gbXdfZWVwcm9tX3NpemUoZGV2KTsKKwkKKwlpZiAoYWRkcmxlbiA8IDYgfHwgYWRkcmxlbiA+IDEwKSB7CisJCXJldHVybiAtMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy90aV9wY2kxNDEwYS5jIGIvZHJpdmVycy90aV9wY2kxNDEwYS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyYjFhMTcKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3RpX3BjaTE0MTBhLmMKQEAgLTAsMCArMSw2NjggQEAKKy8qCisgKiAoQykgQ29weXJpZ2h0IDIwMDAtMjAwMgorICogV29sZmdhbmcgRGVuaywgREVOWCBTb2Z0d2FyZSBFbmdpbmVlcmluZywgd2RAZGVueC5kZS4KKyAqIChDKSBDb3B5cmlnaHQgMjAwMgorICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIKKyAqCisgKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcworICogcHJvamVjdC4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKyAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLAorICogTUEgMDIxMTEtMTMwNyBVU0EKKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBMb3RzIG9mIGNvZGUgY29waWVkIGZyb206CisgKgorICogbTh4eF9wY21jaWEuYyAtIExpbnV4IFBDTUNJQSBzb2NrZXQgZHJpdmVyIGZvciB0aGUgbXBjOHh4IHNlcmllcy4KKyAqIChDKSAxOTk5LTIwMDAgTWFnbnVzIERhbW0gPGRhbW1AYml0c21hcnQuY29tPgorICoKKyAqICJUaGUgRXhDQSBzdGFuZGFyZCBzcGVjaWZpZXMgdGhhdCBzb2NrZXQgY29udHJvbGxlcnMgc2hvdWxkIHByb3ZpZGUKKyAqIHR3byBJTyBhbmQgZml2ZSBtZW1vcnkgd2luZG93cyBwZXIgc29ja2V0LCB3aGljaCBjYW4gYmUgaW5kZXBlbmRlbnRseQorICogY29uZmlndXJlZCBhbmQgcG9zaXRpb25lZCBpbiB0aGUgaG9zdCBhZGRyZXNzIHNwYWNlIGFuZCBtYXBwZWQgdG8KKyAqIGFyYml0cmFyeSBzZWdtZW50cyBvZiBjYXJkIGFkZHJlc3Mgc3BhY2UuICIgLSBEYXZpZCBBIEhpbmRzLiAxOTk5CisgKgorICogVGhpcyBjb250cm9sbGVyIGRvZXMgX25vdF8gbWVldCB0aGUgRXhDQSBzdGFuZGFyZC4KKyAqCisgKiBtOHh4IHBjbWNpYSBjb250cm9sbGVyIGJyaWVmIGluZm86CisgKiArIDggd2luZG93cyAoYXR0cmliLCBtZW0sIGkvbykKKyAqICsgdXAgdG8gdHdvIHNsb3RzIChTTE9UX0EgYW5kIFNMT1RfQikKKyAqICsgaW5wdXRwaW5zLCBvdXRwdXRwaW5zLCBldmVudCBhbmQgbWFzayByZWdpc3RlcnMuCisgKiAtIG5vIG9mZnNldCByZWdpc3Rlci4gc2lnaC4KKyAqCisgKiBCZWNhdXNlIG9mIHRoZSBsYWNraW5nIG9mZnNldCByZWdpc3RlciB3ZSBtdXN0IG1hcCB0aGUgd2hvbGUgY2FyZC4KKyAqIFdlIGFzc2lnbiBlYWNoIG1lbW9yeSB3aW5kb3cgUENNQ0lBX01FTV9XSU5fU0laRSBhZGRyZXNzIHNwYWNlLgorICogTWFrZSBzdXJlIHRoZXJlIGlzIChQQ01DSUFfTUVNX1dJTl9TSVpFICogUENNQ0lBX01FTV9XSU5fTk8KKyAqICogUENNQ0lBX1NPQ0tFVFNfTk8pIGJ5dGVzIGF0IFBDTUNJQV9NRU1fV0lOX0JBU0UuCisgKiBUaGUgaS9vIHdpbmRvd3MgYXJlIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBhdCBQQ01DSUFfSU9fV0lOX0JBU0UuCisgKiBUaGV5IGFyZSBtYXhpbXVtIDY0S0J5dGUgZWFjaC4uLgorICovCisKKworI3VuZGVmIERFQlVHCQkvKiovCisKKy8qCisgKiBQQ01DSUEgc3VwcG9ydAorICovCisjaW5jbHVkZSA8Y29tbW9uLmg+CisjaW5jbHVkZSA8Y29tbWFuZC5oPgorI2luY2x1ZGUgPGNvbmZpZy5oPgorI2luY2x1ZGUgPHBjaS5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorCisjaW5jbHVkZSA8cGNtY2lhLmg+CisjaW5jbHVkZSA8Y21kX3BjbWNpYS5oPgorCisjaWYgKENPTkZJR19DT01NQU5EUyAmIENGR19DTURfUENNQ0lBKSAmJiBkZWZpbmVkKENPTkZJR19JREVfVElfQ0FSREJVUykKKworaW50IHBjbWNpYV9vbihpbnQgaWRlX2Jhc2VfYnVzKTsKKworc3RhdGljIGludCAgcGNtY2lhX29mZih2b2lkKTsKK3N0YXRpYyBpbnQgIGhhcmR3YXJlX2Rpc2FibGUoaW50IHNsb3QpOworc3RhdGljIGludCAgaGFyZHdhcmVfZW5hYmxlKGludCBzbG90KTsKK3N0YXRpYyBpbnQgIHZvbHRhZ2Vfc2V0KGludCBzbG90LCBpbnQgdmNjLCBpbnQgdnBwKTsKK3N0YXRpYyB2b2lkIHByaW50X2Z1bmNpZChpbnQgZnVuYyk7CitzdGF0aWMgdm9pZCBwcmludF9maXhlZCh2b2xhdGlsZSB1Y2hhciAqcCk7CitzdGF0aWMgaW50ICBpZGVudGlmeSh2b2xhdGlsZSB1Y2hhciAqcCk7CitzdGF0aWMgaW50ICBjaGVja19pZGVfZGV2aWNlKGludCBzbG90LCBpbnQgaWRlX2Jhc2VfYnVzKTsKKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKworY29uc3QgY2hhciAqaW5kZW50ID0gIlx0ICAgIjsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisKK2ludCBkb19waW5pdChjbWRfdGJsX3QgKmNtZHRwLCBpbnQgZmxhZywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKyNpZm5kZWYgQ0ZHX0ZJU1JUX1BDTUNJQV9CVVMKKyMgZGVmaW5lIENGR19GSVNSVF9QQ01DSUFfQlVTIDAKKyNlbmRpZgorCisJaW50IHJjb2RlID0gMDsKKwkKKwlpZiAoYXJnYyAhPSAyKSB7CisJCXByaW50ZiAoIlVzYWdlOiBwaW5pdCB7b24gfCBvZmZ9XG4iKTsKKwkJcmV0dXJuIDE7CisJfQorCWlmIChzdHJjbXAoYXJndlsxXSwib24iKSA9PSAwKSB7CisJCXJjb2RlID0gcGNtY2lhX29uKENGR19GSVNSVF9QQ01DSUFfQlVTKTsKKwl9IGVsc2UgaWYgKHN0cmNtcChhcmd2WzFdLCJvZmYiKSA9PSAwKSB7CisJCXJjb2RlID0gcGNtY2lhX29mZigpOworCX0gZWxzZSB7CisJCXByaW50ZiAoIlVzYWdlOiBwaW5pdCB7b24gfCBvZmZ9XG4iKTsKKwkJcmV0dXJuIDE7CisJfQorCQorCXJldHVybiByY29kZTsKK30KKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisKK3N0YXRpYyBzdHJ1Y3QgcGNpX2RldmljZV9pZCBzdXBwb3J0ZWRbXSA9IHsKKwl7IFBDSV9WRU5ET1JfSURfVEksIDB4YWM1MCB9LCAvKiBUaSBQQ0kxNDEwQSAqLworCXsgUENJX1ZFTkRPUl9JRF9USSwgMHhhYzU2IH0sIC8qIFRpIFBDSTE1MTAgKi8KKwl7IH0KK307CisKK3N0YXRpYyBwY2lfZGV2X3QgZGV2YnVzZm47CitzdGF0aWMgdTMyIHNvY2tldF9iYXNlOworc3RhdGljIHUzMiBwY21jaWFfY2lzX3B0cjsKKworaW50IHBjbWNpYV9vbihpbnQgaWRlX2Jhc2VfYnVzKQorewkKKwl1MTYgZGV2X2lkOworCXUzMiBzb2NrZXRfc3RhdHVzOworCWludCBzbG90ID0gMDsKKwlpbnQgY2lzX2xlbjsKKwl1MTYgaW9fYmFzZTsKKwl1MTYgaW9fbGVuOworCQorCS8qCisJICogRmluZCB0aGUgQ2FyZEJ1cyBQQ0kgZGV2aWNlKHMpLgorCSAqLworCWlmICgoZGV2YnVzZm4gPSBwY2lfZmluZF9kZXZpY2VzKHN1cHBvcnRlZCwgMCkpIDwgMCkgeworCQlwcmludGYoIlRpIENhcmRCdXM6IG5vdCBmb3VuZFxuIik7CisJCXJldHVybiAxOworCX0KKwkKKwlwY2lfcmVhZF9jb25maWdfd29yZChkZXZidXNmbiwgUENJX0RFVklDRV9JRCwgJmRldl9pZCk7CisJCisJaWYgKGRldl9pZCA9PSAweGFjNTYpIHsKKwkJZGVidWcoIkVuYWJsZSBQQ01DSUEgVGkgUENJMTUxMFxuIik7CisJfSBlbHNlIHsKKwkJZGVidWcoIkVuYWJsZSBQQ01DSUEgVGkgUENJMTQxMEFcbiIpOworCX0KKworCXBjbWNpYV9jaXNfcHRyID0gQ0ZHX1BDTUNJQV9DSVNfV0lOOworCWNpc19sZW4gPSBDRkdfUENNQ0lBX0NJU19XSU5fU0laRTsKKworCWlvX2Jhc2UgPSBDRkdfUENNQ0lBX0lPX1dJTjsKKwlpb19sZW4gPSBDRkdfUENNQ0lBX0lPX1dJTl9TSVpFOwkKKworCS8qCisJICogU2V0dXAgdGhlIFBDSSBkZXZpY2UuCisJICovCisJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldmJ1c2ZuLCBQQ0lfQkFTRV9BRERSRVNTXzAsICZzb2NrZXRfYmFzZSk7CisJc29ja2V0X2Jhc2UgJj0gfjB4ZjsKKworCXNvY2tldF9zdGF0dXMgPSByZWFkbChzb2NrZXRfYmFzZSs4KTsKKwlpZiAoKHNvY2tldF9zdGF0dXMgJiA2KSA9PSAwKSB7CisJCXByaW50ZigiQ2FyZCBQcmVzZW50OiAiKTsKKwkJCisJCXN3aXRjaCAoc29ja2V0X3N0YXR1cyAmIDB4M2MwMCkgeworCQkJCisJCWNhc2UgMHg0MDA6CisJCQlwcmludGYoIjVWICIpOworCQkJYnJlYWs7CisJCWNhc2UgMHg4MDA6CisJCQlwcmludGYoIjMuM1YgIik7CisJCQlicmVhazsKKwkJY2FzZSAweGMwMDoKKwkJCXByaW50ZigiMy4zLzVWICIpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlwcmludGYoInVuc3VwcG9ydGVkIFZjYyAiKTsKKwkJCWJyZWFrOworCQl9CisJCXN3aXRjaCAoc29ja2V0X3N0YXR1cyAmIDB4MzApIHsKKwkJY2FzZSAweDEwOgorCQkJcHJpbnRmKCIxNmJpdCBQQy1DYXJkXG4iKTsKKwkJCWJyZWFrOworCQljYXNlIDB4MjA6CisJCQlwcmludGYoIjMyYml0IENhcmRCdXMgQ2FyZFxuIik7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXByaW50ZigiOGJpdCBQQy1DYXJkXG4iKTsJCQorCQkJYnJlYWs7CisJCX0JCisJfQorCQorCQorCXdyaXRlYigweDQxLCBzb2NrZXRfYmFzZSArIDB4ODA2KTsgLyogRW5hYmxlIEkvTyB3aW5kb3cgMCBhbmQgbWVtb3J5IHdpbmRvdyAwICovCisJd3JpdGViKDB4MGUsIHNvY2tldF9iYXNlICsgMHg4MDcpOyAvKiBSZXNldCBJL08gd2luZG93IG9wdGlvbnMgKi8KKworCS8qIENhcmVmdWw6IHRoZSBsaW51eCB5ZW50YSBkcml2ZXIgZG8gbm90IHNlZW0gdG8gcmVzZXQgdGhlIG9mZnNldAorCSAqIGluIHRoZSBpL28gd2luZG93cywgc28gbGVhdmluZyB0aGVtIG5vbi16ZXJvIGlzIGEgcHJvYmxlbSAqLworCQorCXdyaXRlYihpb19iYXNlICYgMHhmZiwgc29ja2V0X2Jhc2UgKyAweDgwOCk7IC8qIEkvTyB3aW5kb3cgMCBiYXNlIGFkZHJlc3MgKi8KKwl3cml0ZWIoaW9fYmFzZT4+OCwgc29ja2V0X2Jhc2UgKyAweDgwOSk7CisJd3JpdGViKChpb19iYXNlICsgaW9fbGVuIC0gMSkgJiAweGZmLCBzb2NrZXRfYmFzZSArIDB4ODBhKTsgLyogSS9PIHdpbmRvdyAwIGVuZCBhZGRyZXNzICovCisJd3JpdGViKChpb19iYXNlICsgaW9fbGVuIC0gMSk+PjgsIHNvY2tldF9iYXNlICsgMHg4MGIpOworCXdyaXRlYigweDAwLCBzb2NrZXRfYmFzZSArIDB4ODM2KTsgICAgICAvKiBJL08gd2luZG93IDAgb2Zmc2V0IGFkZHJlc3MgMHgwMDAgKi8JCQkJICAgICAKKwl3cml0ZWIoMHgwMCwgc29ja2V0X2Jhc2UgKyAweDgzNyk7CisKKwkKKwl3cml0ZWIoKHBjbWNpYV9jaXNfcHRyJjB4MDAwZmYwMDApID4+IDEyLCAKKwkgICAgICAgc29ja2V0X2Jhc2UgKyAweDgxMCk7IC8qIE1lbW9yeSB3aW5kb3cgMCBzdGFydCBhZGRyZXNzIGJpdHMgMTktMTIgKi8KKwl3cml0ZWIoKHBjbWNpYV9jaXNfcHRyJjB4MDBmMDAwMDApID4+IDIwLCAKKwkgICAgICAgc29ja2V0X2Jhc2UgKyAweDgxMSk7ICAvKiBNZW1vcnkgd2luZG93IDAgc3RhcnQgYWRkcmVzcyBiaXRzIDIzLTIwICovCisJd3JpdGViKCgocGNtY2lhX2Npc19wdHIrY2lzX2xlbi0xKSAmIDB4MDAwZmYwMDApID4+IDEyLCAKKwkJc29ja2V0X2Jhc2UgKyAweDgxMik7IC8qIE1lbW9yeSB3aW5kb3cgMCBlbmQgYWRkcmVzcyBiaXRzIDE5LTEyKi8KKwl3cml0ZWIoKChwY21jaWFfY2lzX3B0citjaXNfbGVuLTEpICYgMHgwMGYwMDAwMCkgPj4gMjAsIAorCQlzb2NrZXRfYmFzZSArIDB4ODEzKTsgLyogTWVtb3J5IHdpbmRvdyAwIGVuZCBhZGRyZXNzIGJpdHMgMjMtMjAqLworCXdyaXRlYigweDAwLCBzb2NrZXRfYmFzZSArIDB4ODE0KTsgLyogTWVtb3J5IHdpbmRvdyAwIG9mZnNldCBiaXRzIDE5LTEyICovIAorCXdyaXRlYigweDQwLCBzb2NrZXRfYmFzZSArIDB4ODE1KTsgLyogTWVtb3J5IHdpbmRvdyAwIG9mZnNldCBiaXRzIDIzLTIwIGFuZCAKKwkJCQkJICAgICogb3B0aW9ucyAocmVhZC93cml0ZSwgYXR0cmlidXRlIGFjY2VzcykgKi8KKwl3cml0ZWIoMHgwMCwgc29ja2V0X2Jhc2UgKyAweDgxNik7IC8qIEV4Q0EgY2FyZC1kZXRlY3QgYW5kIGdlbmVyYWwgY29udHJvbCAgKi8KKwl3cml0ZWIoMHgwMCwgc29ja2V0X2Jhc2UgKyAweDgxZSk7IC8qIEV4Q0EgZ2xvYmFsIGNvbnRyb2wgKGludGVycnVwdCBtb2RlcykgKi8KKwkKKwl3cml0ZWIoKHBjbWNpYV9jaXNfcHRyICYgMHhmZjAwMDAwMCkgPj4gMjQsIAorCSAgICAgICBzb2NrZXRfYmFzZSArIDB4ODQwKTsgLyogTWVtb3J5IHdpbmRvdyBhZGRyZXNzIGJpdHMgMzEtMjQgKi8KKworCQkKKwkvKiB0dXJuIG9mZiB2b2x0YWdlICovCisJaWYgKHZvbHRhZ2Vfc2V0KHNsb3QsIDAsIDApKSB7CisJCXJldHVybiAxOworCX0KKworCS8qIEVuYWJsZSBleHRlcm5hbCBoYXJkd2FyZSAqLworCWlmIChoYXJkd2FyZV9lbmFibGUoc2xvdCkpIHsKKwkJcmV0dXJuIDE7CisJfQorCQorCWlmIChjaGVja19pZGVfZGV2aWNlKHNsb3QsIGlkZV9iYXNlX2J1cykpIHsKKwkJcmV0dXJuIDE7CisJfQorCQorCXJldHVybiAwOworfQorCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKworc3RhdGljIGludCBwY21jaWFfb2ZmICh2b2lkKQoreworCWludCBzbG90ID0gMDsKKwkKKwl3cml0ZWIoMHgwMCwgc29ja2V0X2Jhc2UgKyAweDgwNik7IC8qIGRpc2FibGUgYWxsIEkvTyBhbmQgbWVtb3J5IHdpbmRvd3MgKi8KKwkKKwl3cml0ZWIoMHgwMCwgc29ja2V0X2Jhc2UgKyAweDgwOCk7IC8qIEkvTyB3aW5kb3cgMCBiYXNlIGFkZHJlc3MgKi8KKwl3cml0ZWIoMHgwMCwgc29ja2V0X2Jhc2UgKyAweDgwOSk7CisJd3JpdGViKDB4MDAsIHNvY2tldF9iYXNlICsgMHg4MGEpOyAvKiBJL08gd2luZG93IDAgZW5kIGFkZHJlc3MgKi8KKwl3cml0ZWIoMHgwMCwgc29ja2V0X2Jhc2UgKyAweDgwYik7CisJd3JpdGViKDB4MDAsIHNvY2tldF9iYXNlICsgMHg4MzYpOyAvKiBJL08gd2luZG93IDAgb2Zmc2V0IGFkZHJlc3MgICovCQkJCSAgICAgCisJd3JpdGViKDB4MDAsIHNvY2tldF9iYXNlICsgMHg4MzcpOworCQorCXdyaXRlYigweDAwLCBzb2NrZXRfYmFzZSArIDB4ODBjKTsgLyogSS9PIHdpbmRvdyAxIGJhc2UgYWRkcmVzcyAgKi8KKwl3cml0ZWIoMHgwMCwgc29ja2V0X2Jhc2UgKyAweDgwZCk7CisJd3JpdGViKDB4MDAsIHNvY2tldF9iYXNlICsgMHg4MGUpOyAvKiBJL08gd2luZG93IDEgZW5kIGFkZHJlc3MgICovCisJd3JpdGViKDB4MDAsIHNvY2tldF9iYXNlICsgMHg4MGYpOworCXdyaXRlYigweDAwLCBzb2NrZXRfYmFzZSArIDB4ODM4KTsgLyogSS9PIHdpbmRvdyAxIG9mZnNldCBhZGRyZXNzICAqLwkJCQkgICAgIAorCXdyaXRlYigweDAwLCBzb2NrZXRfYmFzZSArIDB4ODM5KTsKKwkKKwl3cml0ZWIoMHgwMCwgc29ja2V0X2Jhc2UgKyAweDgxMCk7IC8qIE1lbW9yeSB3aW5kb3cgMCBzdGFydCBhZGRyZXNzICovCisJd3JpdGViKDB4MDAsIHNvY2tldF9iYXNlICsgMHg4MTEpOworCXdyaXRlYigweDAwLCBzb2NrZXRfYmFzZSArIDB4ODEyKTsgLyogTWVtb3J5IHdpbmRvdyAwIGVuZCBhZGRyZXNzICAqLworCXdyaXRlYigweDAwLCBzb2NrZXRfYmFzZSArIDB4ODEzKTsKKwl3cml0ZWIoMHgwMCwgc29ja2V0X2Jhc2UgKyAweDgxNCk7IC8qIE1lbW9yeSB3aW5kb3cgMCBvZmZzZXQgKi8KKwl3cml0ZWIoMHgwMCwgc29ja2V0X2Jhc2UgKyAweDgxNSk7CisJCisJd3JpdGViKDB4YzAsIHNvY2tldF9iYXNlICsgMHg4NDApOyAvKiBNZW1vcnkgd2luZG93IDAgcGFnZSBhZGRyZXNzICovCisKKworCS8qIHR1cm4gb2ZmIHZvbHRhZ2UgKi8KKwl2b2x0YWdlX3NldChzbG90LCAwLCAwKTsKKworCS8qIGRpc2FibGUgZXh0ZXJuYWwgaGFyZHdhcmUgKi8KKwlwcmludGYgKCJTaHV0ZG93biBhbmQgUG93ZXJvZmYgVGkgUENJMTQxMEFcbiIpOworCWhhcmR3YXJlX2Rpc2FibGUoc2xvdCk7CisJCisJcmV0dXJuIDA7Cit9CisKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisKKyNkZWZpbmUJTUFYX1RVUEVMX1NaCTUxMgorI2RlZmluZSBNQVhfRkVBVFVSRVMJNAoraW50IGlkZV9kZXZpY2VzX2ZvdW5kOworc3RhdGljIGludCBjaGVja19pZGVfZGV2aWNlKGludCBzbG90LCBpbnQgaWRlX2Jhc2VfYnVzKQoreworCXZvbGF0aWxlIHVjaGFyICppZGVudCA9IE5VTEw7CisJdm9sYXRpbGUgdWNoYXIgKmZlYXR1cmVfcFtNQVhfRkVBVFVSRVNdOworCXZvbGF0aWxlIHVjaGFyICpwLCAqc3RhcnQ7CisJaW50IG5fZmVhdHVyZXMgPSAwOworCXVjaGFyIGZ1bmNfaWQgPSB+MDsKKwl1Y2hhciBjb2RlLCBsZW47CisJdXNob3J0IGNvbmZpZ19iYXNlID0gMDsKKwlpbnQgZm91bmQgPSAwOworCWludCBpOworCXUzMiBzb2NrZXRfc3RhdHVzOworCisJZGVidWcgKCJQQ01DSUEgTUVNOiAlMDhYXG4iLCBwY21jaWFfY2lzX3B0cik7CisJCisJc29ja2V0X3N0YXR1cyA9IHJlYWRsKHNvY2tldF9iYXNlKzgpOworCQorCWlmICgoc29ja2V0X3N0YXR1cyAmIDYpICE9IDAgfHwgKHNvY2tldF9zdGF0dXMgJiAweDIwKSAhPSAwKSB7CisJCXByaW50Zigibm8gY2FyZCBvciBDYXJkQnVzIGNhcmRcbiIpOworCQlyZXR1cm4gMTsKKwl9CisJCisJc3RhcnQgPSBwID0gKHZvbGF0aWxlIHVjaGFyICopIHBjbWNpYV9jaXNfcHRyOworCisJd2hpbGUgKChwIC0gc3RhcnQpIDwgTUFYX1RVUEVMX1NaKSB7CisKKwkJY29kZSA9ICpwOyBwICs9IDI7CisKKwkJaWYgKGNvZGUgPT0gMHhGRikgeyAvKiBFbmQgb2YgY2hhaW4gKi8KKwkJCWJyZWFrOworCQl9CisKKwkJbGVuID0gKnA7IHAgKz0gMjsKKyNpZiBkZWZpbmVkKERFQlVHKSAmJiAoREVCVUcgPiAxKQorCQl7IAorCQkJdm9sYXRpbGUgdWNoYXIgKnEgPSBwOworCQkJcHJpbnRmICgiXG5UdXBsZSBjb2RlICUwMnggIGxlbmd0aCAlZFxuXHREYXRhOiIsCisJCQkJY29kZSwgbGVuKTsKKworCQkJZm9yIChpID0gMDsgaSA8IGxlbjsgKytpKSB7CisJCQkJcHJpbnRmICgiICUwMngiLCAqcSk7CisJCQkJcSs9IDI7CisJCQl9CisJCX0KKyNlbmRpZgkvKiBERUJVRyAqLworCQlzd2l0Y2ggKGNvZGUpIHsKKwkJY2FzZSBDSVNUUExfVkVSU18xOgorCQkJaWRlbnQgPSBwICsgNDsKKwkJCWJyZWFrOworCQljYXNlIENJU1RQTF9GVU5DSUQ6CisJCQkvKiBGaXggZm9yIGJyb2tlbiBTYW5EaXNrIHdoaWNoIG1heSBoYXZlIDB4ODAgYml0IHNldCAqLworCQkJZnVuY19pZCA9ICpwICYgMHg3RjsKKwkJCWJyZWFrOworCQljYXNlIENJU1RQTF9GVU5DRToKKwkJCWlmIChuX2ZlYXR1cmVzIDwgTUFYX0ZFQVRVUkVTKQorCQkJCWZlYXR1cmVfcFtuX2ZlYXR1cmVzKytdID0gcDsKKwkJCWJyZWFrOworCQljYXNlIENJU1RQTF9DT05GSUc6CisJCQljb25maWdfYmFzZSA9ICgqKHArNikgPDwgOCkgKyAoKihwKzQpKTsKKwkJCWRlYnVnICgiXG4jIyBDb25maWdfYmFzZSA9ICUwNHggIyMjXG4iLCBjb25maWdfYmFzZSk7CisJCWRlZmF1bHQ6CisJCQlicmVhazsKKwkJfQorCQlwICs9IDIgKiBsZW47CisJfQorCisJZm91bmQgPSBpZGVudGlmeShpZGVudCk7CisKKwlpZiAoZnVuY19pZCAhPSAoKHVjaGFyKX4wKSkgeworCQlwcmludF9mdW5jaWQgKGZ1bmNfaWQpOworCisJCWlmIChmdW5jX2lkID09IENJU1RQTF9GVU5DSURfRklYRUQpCisJCQlmb3VuZCA9IDE7CisJCWVsc2UKKwkJCXJldHVybiAxOwkvKiBubyBkaXNrIGRyaXZlICovCisJfQorCisJZm9yIChpPTA7IGk8bl9mZWF0dXJlczsgKytpKSB7CisJCXByaW50X2ZpeGVkKGZlYXR1cmVfcFtpXSk7CisJfQorCisJaWYgKCFmb3VuZCkgeworCQlwcmludGYoInVua25vd24gY2FyZCB0eXBlXG4iKTsKKwkJcmV0dXJuIDE7CisJfQorCQorCS8qIHNlbGVjdCBjb25maWcgaW5kZXggMSAqLworCXdyaXRlYigxLCBwY21jaWFfY2lzX3B0ciArIGNvbmZpZ19iYXNlKTsJCisKKyNpZiAwCisJcHJpbnRmKCJDb25maXVyYXRpb24gT3B0aW9uIFJlZ2lzdGVyOiAlMDJ4XG4iLCByZWFkYihwY21jaWFfY2lzX3B0ciArIGNvbmZpZ19iYXNlKSk7CisJcHJpbnRmKCJDYXJkIENvbmZpdXJhdGlvbiBhbmQgU3RhdHVzIFJlZ2lzdGVyOiAlMDJ4XG4iLCByZWFkYihwY21jaWFfY2lzX3B0ciArIGNvbmZpZ19iYXNlICsgMikpOworCXByaW50ZigiUGluIFJlcGxhY2VtZW50IFJlZ2lzdGVyIFJlZ2lzdGVyOiAlMDJ4XG4iLCByZWFkYihwY21jaWFfY2lzX3B0ciArIGNvbmZpZ19iYXNlICsgNCkpOworCXByaW50ZigiU29ja2V0IGFuZCBDb3B5IFJlZ2lzdGVyOiAlMDJ4XG4iLCByZWFkYihwY21jaWFfY2lzX3B0ciArIGNvbmZpZ19iYXNlICsgNikpOworI2VuZGlmCQorCWlkZV9kZXZpY2VzX2ZvdW5kIHw9ICgxIDw8IChzbG90K2lkZV9iYXNlX2J1cykpOworCQorCXJldHVybiAwOworfQorCisKKworc3RhdGljIGludCB2b2x0YWdlX3NldChpbnQgc2xvdCwgaW50IHZjYywgaW50IHZwcCkKK3sKKwl1MzIgc29ja2V0X2NvbnRyb2w7CisJaW50IHJlZz0wOworCQorCXN3aXRjaCAoc2xvdCkgeworCWNhc2UgMDoKKwkJcmVnID0gc29ja2V0X2Jhc2UgKyAweDEwOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gMTsKKwl9CisJCisJc29ja2V0X2NvbnRyb2wgPSAwOworCQorCQorCXN3aXRjaCAodmNjKSB7CisJY2FzZSA1MDoKKwkJc29ja2V0X2NvbnRyb2wgfD0gMHgyMDsKKwkJYnJlYWs7CisJY2FzZSAzMzoKKwkJc29ja2V0X2NvbnRyb2wgfD0gMHgzMDsKKwkJYnJlYWs7CisJY2FzZSAwOgorCWRlZmF1bHQ6CisJfQorCQorCXN3aXRjaCAodnBwKSB7CisJY2FzZSAxMjA6CisJCXNvY2tldF9jb250cm9sIHw9IDB4MTsKKwkJYnJlYWs7CisJY2FzZSA1MDoKKwkJc29ja2V0X2NvbnRyb2wgfD0gMHgyOworCQlicmVhazsKKwljYXNlIDMzOgorCQlzb2NrZXRfY29udHJvbCB8PSAweDM7CisJCWJyZWFrOworCWNhc2UgMDoKKwlkZWZhdWx0OgorCX0KKworCXdyaXRlbChzb2NrZXRfY29udHJvbCwgcmVnKTsKKwkKKwlkZWJ1ZyAoInZvbHRhZ2Vfc2V0OiBUaSBQQ0kxNDEwQSBTbG90ICVkLCBWY2M9JWQuJWQsIFZwcD0lZC4lZFxuIiwKKwkJc2xvdCwgdmNjLzEwLCB2Y2MlMTAsIHZwcC8xMCwgdnBwJTEwKTsKKwkKKwl1ZGVsYXkoNTAwKTsKKwlyZXR1cm4gMDsKK30KKworCQorc3RhdGljIGludCBoYXJkd2FyZV9lbmFibGUoaW50IHNsb3QpCit7CisJdTMyIHNvY2tldF9zdGF0dXM7CisJdTE2IGJyZ19jdHJsOworCWludCBpc184MjM2NXNsOworCQorCXNvY2tldF9zdGF0dXMgPSByZWFkbChzb2NrZXRfYmFzZSs4KTsKKwkKKwlpZiAoKHNvY2tldF9zdGF0dXMgJiA2KSA9PSAwKSB7CisJCQorCQlzd2l0Y2ggKHNvY2tldF9zdGF0dXMgJiAweDNjMDApIHsKKwkJCQorCQljYXNlIDB4NDAwOgorCQkJcHJpbnRmKCI1ViAiKTsKKwkJCXZvbHRhZ2Vfc2V0KHNsb3QsIDUwLCAwKTsKKwkJCWJyZWFrOworCQljYXNlIDB4ODAwOgorCQkJdm9sdGFnZV9zZXQoc2xvdCwgMzMsIDApOworCQkJYnJlYWs7CisJCWNhc2UgMHhjMDA6CisJCQl2b2x0YWdlX3NldChzbG90LCAzMywgMCk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXZvbHRhZ2Vfc2V0KHNsb3QsIDAsIDApOworCQkJYnJlYWs7CisJCX0KKwl9IGVsc2UgeworCQl2b2x0YWdlX3NldChzbG90LCAwLCAwKTsKKwl9CisJCisJcGNpX3JlYWRfY29uZmlnX3dvcmQoZGV2YnVzZm4sIFBDSV9CUklER0VfQ09OVFJPTCwgJmJyZ19jdHJsKTsKKwlicmdfY3RybCAmPSB+UENJX0JSSURHRV9DVExfQlVTX1JFU0VUOworCXBjaV93cml0ZV9jb25maWdfd29yZChkZXZidXNmbiwgUENJX0JSSURHRV9DT05UUk9MLCBicmdfY3RybCk7CisJaXNfODIzNjVzbCA9ICgocmVhZGIoc29ja2V0X2Jhc2UrMHg4MDApICYgMHgwZikgPT0gMik7IAorCXdyaXRlYihpc184MjM2NXNsPzB4OTA6MHg5OCwgc29ja2V0X2Jhc2UrMHg4MDIpOworCXdyaXRlYigweDY3LCBzb2NrZXRfYmFzZSsweDgwMyk7CisJdWRlbGF5KDEwMDAwMCk7CisjaWYgMAkKKwlwcmludGYoIkV4Q0EgSWQgJTAyeCwgQ2FyZCBTdGF0dXMgJTAyeCwgUG93ZXIgY29uZmlnICUwMngsIEludGVycnVwdCBDb25maWcgJTAyeCwgYnJpZGdlIGNvbnRyb2wgJTA0eCAlZFxuIiwgCisJICAgICAgIHJlYWRiKHNvY2tldF9iYXNlKzB4ODAwKSwgcmVhZGIoc29ja2V0X2Jhc2UrMHg4MDEpLAorCSAgICAgICByZWFkYihzb2NrZXRfYmFzZSsweDgwMiksIHJlYWRiKHNvY2tldF9iYXNlKzB4ODAzKSwgYnJnX2N0cmwsIGlzXzgyMzY1c2wpOworI2VuZGlmCQorCQorCXJldHVybiAoKHJlYWRiKHNvY2tldF9iYXNlKzB4ODAxKSYweDZjKT09MHg2Yyk/MDoxOworfQorCisKKworc3RhdGljIGludCBoYXJkd2FyZV9kaXNhYmxlKGludCBzbG90KQoreworCXZvbHRhZ2Vfc2V0KHNsb3QsIDAsIDApOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBwcmludF9mdW5jaWQoaW50IGZ1bmMpCit7CisJcHV0cyhpbmRlbnQpOworCXN3aXRjaCAoZnVuYykgeworCWNhc2UgQ0lTVFBMX0ZVTkNJRF9NVUxUSToKKwkJcHV0cygiIE11bHRpLUZ1bmN0aW9uIik7CisJCWJyZWFrOworCWNhc2UgQ0lTVFBMX0ZVTkNJRF9NRU1PUlk6CisJCXB1dHMoIiBNZW1vcnkiKTsKKwkJYnJlYWs7CisJY2FzZSBDSVNUUExfRlVOQ0lEX1NFUklBTDoKKwkJcHV0cygiIFNlcmlhbCBQb3J0Iik7CisJCWJyZWFrOworCWNhc2UgQ0lTVFBMX0ZVTkNJRF9QQVJBTExFTDoKKwkJcHV0cygiIFBhcmFsbGVsIFBvcnQiKTsKKwkJYnJlYWs7CisJY2FzZSBDSVNUUExfRlVOQ0lEX0ZJWEVEOgorCQlwdXRzKCIgRml4ZWQgRGlzayIpOworCQlicmVhazsKKwljYXNlIENJU1RQTF9GVU5DSURfVklERU86CisJCXB1dHMoIiBWaWRlbyBBZGFwdGVyIik7CisJCWJyZWFrOworCWNhc2UgQ0lTVFBMX0ZVTkNJRF9ORVRXT1JLOgorCQlwdXRzKCIgTmV0d29yayBBZGFwdGVyIik7CisJCWJyZWFrOworCWNhc2UgQ0lTVFBMX0ZVTkNJRF9BSU1TOgorCQlwdXRzKCIgQUlNUyBDYXJkIik7CisJCWJyZWFrOworCWNhc2UgQ0lTVFBMX0ZVTkNJRF9TQ1NJOgorCQlwdXRzKCIgU0NTSSBBZGFwdGVyIik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXB1dHMoIiBVbmtub3duIik7CisJCWJyZWFrOworCX0KKwlwdXRzKCIgQ2FyZFxuIik7Cit9CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworc3RhdGljIHZvaWQgcHJpbnRfZml4ZWQodm9sYXRpbGUgdWNoYXIgKnApCit7CisJaWYgKHAgPT0gTlVMTCkKKwkJcmV0dXJuOworCisJcHV0cyhpbmRlbnQpOworCQorCXN3aXRjaCAoKnApIHsKKwljYXNlIENJU1RQTF9GVU5DRV9JREVfSUZBQ0U6CisJCXsgICB1Y2hhciBpZmFjZSA9ICoocCsyKTsKKwkJCQorCQkJcHV0cyAoKGlmYWNlID09IENJU1RQTF9JREVfSU5URVJGQUNFKSA/ICIgSURFIiA6ICIgdW5rbm93biIpOworCQkJcHV0cyAoIiBpbnRlcmZhY2UgIik7CisJCQlicmVhazsKKwkJfQorCWNhc2UgQ0lTVFBMX0ZVTkNFX0lERV9NQVNURVI6CisJY2FzZSBDSVNUUExfRlVOQ0VfSURFX1NMQVZFOgorCQl7CisJCQl1Y2hhciBmMSA9ICoocCsyKTsKKwkJCXVjaGFyIGYyID0gKihwKzQpOworCQkJCisJCQlwdXRzKChmMSAmIENJU1RQTF9JREVfU0lMSUNPTikgPyAiIFtzaWxpY29uXSIgOiAiIFtyb3RhdGluZ10iKTsKKwkJCQorCQkJaWYgKGYxICYgQ0lTVFBMX0lERV9VTklRVUUpIHsKKwkJCQlwdXRzKCIgW3VuaXF1ZV0iKTsKKwkJCX0KKwkJCQorCQkJcHV0cygoZjEgJiBDSVNUUExfSURFX0RVQUwpID8gIiBbZHVhbF0iIDogIiBbc2luZ2xlXSIpOworCQkJCisJCQlpZiAoZjIgJiBDSVNUUExfSURFX0hBU19TTEVFUCkgeworCQkJCXB1dHMoIiBbc2xlZXBdIik7CisJCQl9CisJCQkKKwkJCWlmIChmMiAmIENJU1RQTF9JREVfSEFTX1NUQU5EQlkpIHsKKwkJCQlwdXRzKCIgW3N0YW5kYnldIik7CisJCQl9CisJCQkKKwkJCWlmIChmMiAmIENJU1RQTF9JREVfSEFTX0lETEUpIHsKKwkJCQlwdXRzKCIgW2lkbGVdIik7CisJCQl9CisJCQkKKwkJCWlmIChmMiAmIENJU1RQTF9JREVfTE9XX1BPV0VSKSB7CisJCQkJcHV0cygiIFtsb3cgcG93ZXJdIik7CisJCQl9CisJCQkKKwkJCWlmIChmMiAmIENJU1RQTF9JREVfUkVHX0lOSElCSVQpIHsKKwkJCQlwdXRzKCIgW3JlZyBpbmhpYml0XSIpOworCQkJfQorCQkJCisJCQlpZiAoZjIgJiBDSVNUUExfSURFX0hBU19JTkRFWCkgeworCQkJCXB1dHMoIiBbaW5kZXhdIik7CisJCQl9CisJCQkKKwkJCWlmIChmMiAmIENJU1RQTF9JREVfSU9JUzE2KSB7CisJCQkJcHV0cygiIFtJT2lzMTZdIik7CisJCQl9CisJCQkKKwkJCWJyZWFrOworCQl9CisJfQorCXB1dGMoJ1xuJyk7Cit9CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworI2RlZmluZSBNQVhfSURFTlRfQ0hBUlMJCTY0CisjZGVmaW5lCU1BWF9JREVOVF9GSUVMRFMJNAorCitzdGF0aWMgdWNoYXIgKmtub3duX2NhcmRzW10gPSB7CisJIkFSR09TWSBQblBJREUgRDUiLAorCU5VTEwKK307CisKK3N0YXRpYyBpbnQgaWRlbnRpZnkodm9sYXRpbGUgdWNoYXIgKnApCit7CisJdWNoYXIgaWRfc3RyW01BWF9JREVOVF9DSEFSU107CisJdWNoYXIgZGF0YTsKKwl1Y2hhciAqdDsKKwl1Y2hhciAqKmNhcmQ7CisJaW50IGksIGRvbmU7CisKKwlpZiAocCA9PSBOVUxMKQorCQlyZXR1cm4gKDApOwkvKiBEb24ndCBrbm93ICovCisJCisJdCA9IGlkX3N0cjsKKwlkb25lID0wOworCQorCWZvciAoaT0wOyBpPD00ICYmICFkb25lOyArK2ksIHArPTIpIHsKKwkJd2hpbGUgKChkYXRhID0gKnApICE9ICdcMCcpIHsKKwkJCWlmIChkYXRhID09IDB4RkYpIHsKKwkJCQlkb25lID0gMTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCSp0KysgPSBkYXRhOworCQkJaWYgKHQgPT0gJmlkX3N0cltNQVhfSURFTlRfQ0hBUlMtMV0pIHsKKwkJCQlkb25lID0gMTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCXAgKz0gMjsKKwkJfQorCQlpZiAoIWRvbmUpCisJCQkqdCsrID0gJyAnOworCX0KKwkqdCA9ICdcMCc7CisJd2hpbGUgKC0tdCA+IGlkX3N0cikgeworCQlpZiAoKnQgPT0gJyAnKSB7CisJCQkqdCA9ICdcMCc7CisJCX0gZWxzZSB7CisJCQlicmVhazsKKwkJfQorCX0KKwlwdXRzKGlkX3N0cik7CisJcHV0YygnXG4nKTsKKworCWZvciAoY2FyZD1rbm93bl9jYXJkczsgKmNhcmQ7ICsrY2FyZCkgeworCQlkZWJ1ZyAoIiMjIENvbXBhcmUgYWdhaW5zdCBcIiVzXCJcbiIsICpjYXJkKTsKKwkJaWYgKHN0cmNtcCgqY2FyZCwgaWRfc3RyKSA9PSAwKSB7CS8qIGZvdW5kISAqLworCQkJZGVidWcgKCIjIyBDQVJEIEZPVU5EICMjXG4iKTsKKwkJCXJldHVybiAxOworCQl9CisJfQorCQorCXJldHVybiAwOwkvKiBkb24ndCBrbm93ICovCit9CisKKyNlbmRpZiAvKiBDT05GSUdfSURFX1RJX0NBUkRCVVMgKi8KZGlmZiAtLWdpdCBhL2V4YW1wbGVzLzgyNTU5X2VlcHJvbS5jIGIvZXhhbXBsZXMvODI1NTlfZWVwcm9tLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzcxMGNkMwotLS0gL2Rldi9udWxsCisrKyBiL2V4YW1wbGVzLzgyNTU5X2VlcHJvbS5jCkBAIC0wLDAgKzEsMzU0IEBACisKKy8qCisgKiBDb3B5cmlnaHQgMTk5OC0yMDAxIGJ5IERvbmFsZCBCZWNrZXIuCisgKiBUaGlzIHNvZnR3YXJlIG1heSBiZSB1c2VkIGFuZCBkaXN0cmlidXRlZCBhY2NvcmRpbmcgdG8gdGhlIHRlcm1zIG9mCisgKiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCksIGluY29ycG9yYXRlZCBoZXJlaW4gYnkgcmVmZXJlbmNlLgorICogQ29udGFjdCB0aGUgYXV0aG9yIGZvciB1c2UgdW5kZXIgb3RoZXIgdGVybXMuCisgKgorICogVGhpcyBwcm9ncmFtIG11c3QgYmUgY29tcGlsZWQgd2l0aCAiLU8iIQorICogU2VlIHRoZSBib3R0b20gb2YgdGhpcyBmaWxlIGZvciB0aGUgc3VnZ2VzdGVkIGNvbXBpbGUtY29tbWFuZC4KKyAqCisgKiBUaGUgYXV0aG9yIG1heSBiZSByZWFjaGVkIGFzIGJlY2tlckBzY3lsZC5jb20sIG9yIEMvTworICogIFNjeWxkIENvbXB1dGluZyBDb3Jwb3JhdGlvbgorICogIDQxMCBTZXZlcm4gQXZlLiwgU3VpdGUgMjEwCisgKiAgQW5uYXBvbGlzIE1EIDIxNDAzCisgKgorICogQ29tbW9uLXNlbnNlIGxpY2Vuc2luZyBzdGF0ZW1lbnQ6IFVzaW5nIGFueSBwb3J0aW9uIG9mIHRoaXMgcHJvZ3JhbSBpbgorICogeW91ciBvd24gcHJvZ3JhbSBtZWFucyB0aGF0IHlvdSBtdXN0IGdpdmUgY3JlZGl0IHRvIHRoZSBvcmlnaW5hbCBhdXRob3IKKyAqIGFuZCByZWxlYXNlIHRoZSByZXN1bHRpbmcgY29kZSB1bmRlciB0aGUgR1BMLgorICovCisKKyNkZWZpbmUgX1BQQ19TVFJJTkdfSF8JCS8qIGF2b2lkIHVubmVjZXNzYXJ5IHN0ci9tZW0gZnVuY3Rpb25zICovCisjZGVmaW5lIF9MSU5VWF9TVFJJTkdfSF8JLyogYXZvaWQgdW5uZWNlc3Nhcnkgc3RyL21lbSBmdW5jdGlvbnMgKi8KKworI2luY2x1ZGUgPGNvbW1vbi5oPgorI2luY2x1ZGUgPHN5c2NhbGwuaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKworCisvKiBEZWZhdWx0IEVFUFJPTSBmb3IgaTgyNTU5ICovCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgZGVmYXVsdF9lZXByb21bNjRdID0geworCTB4MDEwMCwgMHgwMzAyLCAweDA1MDQsIDB4ZmZmZiwgMHhmZmZmLCAweGZmZmYsIDB4ZmZmZiwgMHhmZmZmLAorCTB4ZmZmZiwgMHhmZmZmLCAweDQwYzAsIDB4MDAwMCwgMHgwMDAwLCAweGZmZmYsIDB4ZmZmZiwgMHhmZmZmLAorCTB4ZmZmZiwgMHhmZmZmLCAweGZmZmYsIDB4ZmZmZiwgMHhmZmZmLCAweGZmZmYsIDB4ZmZmZiwgMHhmZmZmLAorCTB4ZmZmZiwgMHhmZmZmLCAweGZmZmYsIDB4ZmZmZiwgMHhmZmZmLCAweGZmZmYsIDB4ZmZmZiwgMHhmZmZmLAorCTB4ZmZmZiwgMHhmZmZmLCAweGZmZmYsIDB4ZmZmZiwgMHhmZmZmLCAweGZmZmYsIDB4ZmZmZiwgMHhmZmZmLAorCTB4ZmZmZiwgMHhmZmZmLCAweGZmZmYsIDB4ZmZmZiwgMHhmZmZmLCAweGZmZmYsIDB4ZmZmZiwgMHhmZmZmLAorCTB4ZmZmZiwgMHhmZmZmLCAweGZmZmYsIDB4ZmZmZiwgMHhmZmZmLCAweGZmZmYsIDB4ZmZmZiwgMHhmZmZmLAorCTB4ZmZmZiwgMHhmZmZmLCAweGZmZmYsIDB4ZmZmZiwgMHhmZmZmLCAweGZmZmYsIDB4ZmZmZiwgMHhmZmZmCit9OworCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgZWVwcm9tWzI1Nl07CisKK3N0YXRpYyBpbnQgZWVwcm9tX3NpemUgPSA2NDsKK3N0YXRpYyBpbnQgZWVwcm9tX2FkZHJfc2l6ZSA9IDY7CisKK3N0YXRpYyBpbnQgZGVidWcgPSAwOworCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIHNob3J0IHN3YXAxNih1bnNpZ25lZCBzaG9ydCB4KQoreworCXJldHVybiAoKCh4ICYgMHhmZikgPDwgOCkgfCAoKHggJiAweGZmMDApID4+IDgpKTsKK30KKworCitzdGF0aWMgaW5saW5lIHZvaWQgKm1lbWNweSh2b2lkICpkc3QsIGNvbnN0IHZvaWQgKnNyYywgdW5zaWduZWQgaW50IGxlbikKK3sKKwl2b2lkICogcmV0ID0gZHN0OworCXdoaWxlIChsZW4tLSA+IDApICooKGNoYXIgKilkc3QpKysgPSAqKChjaGFyICopc3JjKSsrOworCXJldHVybiByZXQ7Cit9CisKKy8qIFRoZSBFRVBST00gY29tbWFuZHMgaW5jbHVkZSB0aGUgYWx3YXktc2V0IGxlYWRpbmcgYml0LiAqLworI2RlZmluZSBFRV9XUklURV9DTUQJKDUpCisjZGVmaW5lIEVFX1JFQURfQ01ECQkoNikKKyNkZWZpbmUgRUVfRVJBU0VfQ01ECSg3KQorCisvKiBTZXJpYWwgRUVQUk9NIHNlY3Rpb24uICovCisjZGVmaW5lIEVFX1NISUZUX0NMSwkweDAxCS8qIEVFUFJPTSBzaGlmdCBjbG9jay4gKi8KKyNkZWZpbmUgRUVfQ1MJCQkweDAyCS8qIEVFUFJPTSBjaGlwIHNlbGVjdC4gKi8KKyNkZWZpbmUgRUVfREFUQV9XUklURQkweDA0CS8qIEVFUFJPTSBjaGlwIGRhdGEgaW4uICovCisjZGVmaW5lIEVFX0RBVEFfUkVBRAkweDA4CS8qIEVFUFJPTSBjaGlwIGRhdGEgb3V0LiAqLworI2RlZmluZSBFRV9FTkIJCQkoMHg0ODAwIHwgRUVfQ1MpCisjZGVmaW5lIEVFX1dSSVRFXzAJCTB4NDgwMgorI2RlZmluZSBFRV9XUklURV8xCQkweDQ4MDYKKyNkZWZpbmUgRUVfT0ZGU0VUCQkxNAorCisvKiBEZWxheSBiZXR3ZWVuIEVFUFJPTSBjbG9jayB0cmFuc2l0aW9ucy4gKi8KKyNkZWZpbmUgZWVwcm9tX2RlbGF5KGVlX2FkZHIpCWludyhlZV9hZGRyKQorCisvKiBXYWl0IGZvciB0aGUgRUVQUk9NIHRvIGZpbmlzaCB0aGUgcHJldmlvdXMgb3BlcmF0aW9uLiAqLworc3RhdGljIGludCBlZXByb21fYnVzeV9wb2xsKGxvbmcgZWVfaW9hZGRyKQoreworCWludCBpOworCW91dHcoRUVfRU5CLCBlZV9pb2FkZHIpOworCWZvciAoaSA9IDA7IGkgPCAxMDAwMDsgaSsrKQkJCS8qIFR5cGljYWwgMjAwMCB0aWNrcyAqLworCQlpZiAoaW53KGVlX2lvYWRkcikgJiBFRV9EQVRBX1JFQUQpCisJCQlicmVhazsKKwlyZXR1cm4gaTsKK30KKworLyogVGhpcyBleGVjdXRlcyBhIGdlbmVyaWMgRUVQUk9NIGNvbW1hbmQsIHR5cGljYWxseSBhIHdyaXRlIG9yIHdyaXRlIGVuYWJsZS4KKyAgIEl0IHJldHVybnMgdGhlIGRhdGEgb3V0cHV0IGZyb20gdGhlIEVFUFJPTSwgYW5kIHRodXMgbWF5IGFsc28gYmUgdXNlZCBmb3IKKyAgIHJlYWRzLiAqLworc3RhdGljIGludCBkb19lZXByb21fY21kKGxvbmcgaW9hZGRyLCBpbnQgY21kLCBpbnQgY21kX2xlbikKK3sKKwl1bnNpZ25lZCByZXR2YWwgPSAwOworCWxvbmcgZWVfYWRkciA9IGlvYWRkciArIEVFX09GRlNFVDsKKworCWlmIChkZWJ1ZyA+IDEpCisJCW1vbl9wcmludGYoIiBFRVBST00gb3AgMHgleDogIiwgY21kKTsKKworCW91dHcoRUVfRU5CIHwgRUVfU0hJRlRfQ0xLLCBlZV9hZGRyKTsKKworCS8qIFNoaWZ0IHRoZSBjb21tYW5kIGJpdHMgb3V0LiAqLworCWRvIHsKKwkJc2hvcnQgZGF0YXZhbCA9IChjbWQgJiAoMSA8PCBjbWRfbGVuKSkgPyBFRV9XUklURV8xIDogRUVfV1JJVEVfMDsKKwkJb3V0dyhkYXRhdmFsLCBlZV9hZGRyKTsKKwkJZWVwcm9tX2RlbGF5KGVlX2FkZHIpOworCQlpZiAoZGVidWcgPiAyKQorCQkJbW9uX3ByaW50ZigiJVgiLCBpbncoZWVfYWRkcikgJiAxNSk7CisJCW91dHcoZGF0YXZhbCB8IEVFX1NISUZUX0NMSywgZWVfYWRkcik7CisJCWVlcHJvbV9kZWxheShlZV9hZGRyKTsKKwkJcmV0dmFsID0gKHJldHZhbCA8PCAxKSB8ICgoaW53KGVlX2FkZHIpICYgRUVfREFUQV9SRUFEKSA/IDEgOiAwKTsKKwl9IHdoaWxlICgtLWNtZF9sZW4gPj0gMCk7CisjaWYgMAorCW91dHcoRUVfRU5CLCBlZV9hZGRyKTsKKyNlbmRpZgorCS8qIFRlcm1pbmF0ZSB0aGUgRUVQUk9NIGFjY2Vzcy4gKi8KKwlvdXR3KEVFX0VOQiAmIH5FRV9DUywgZWVfYWRkcik7CisJaWYgKGRlYnVnID4gMSkKKwkJbW9uX3ByaW50ZigiIEVFUFJPTSByZXN1bHQgaXMgMHglNS41eC5cbiIsIHJldHZhbCk7CisJcmV0dXJuIHJldHZhbDsKK30KKworc3RhdGljIGludCByZWFkX2VlcHJvbShsb25nIGlvYWRkciwgaW50IGxvY2F0aW9uLCBpbnQgYWRkcl9sZW4pCit7CisJcmV0dXJuIGRvX2VlcHJvbV9jbWQoaW9hZGRyLCAoKEVFX1JFQURfQ01EIDw8IGFkZHJfbGVuKSB8IGxvY2F0aW9uKQorCQk8PCAxNiAsIDMgKyBhZGRyX2xlbiArIDE2KSAmIDB4ZmZmZjsKK30KKworc3RhdGljIHZvaWQgd3JpdGVfZWVwcm9tKGxvbmcgaW9hZGRyLCBpbnQgaW5kZXgsIGludCB2YWx1ZSwgaW50IGFkZHJfbGVuKQoreworCWxvbmcgZWVfaW9hZGRyID0gaW9hZGRyICsgRUVfT0ZGU0VUOworCWludCBpOworCisJLyogUG9sbCBmb3IgcHJldmlvdXMgb3AgZmluaXNoZWQuICovCisJZWVwcm9tX2J1c3lfcG9sbChlZV9pb2FkZHIpOwkJCS8qIFR5cGljYWwgMCB0aWNrcyAqLworCS8qIEVuYWJsZSBwcm9ncmFtbWluZyBtb2Rlcy4gKi8KKwlkb19lZXByb21fY21kKGlvYWRkciwgKDB4NGYgPDwgKGFkZHJfbGVuLTQpKSwgMyArIGFkZHJfbGVuKTsKKwkvKiBEbyB0aGUgYWN0dWFsIHdyaXRlLiAqLworCWRvX2VlcHJvbV9jbWQoaW9hZGRyLAorCQkJCSAgKCgoRUVfV1JJVEVfQ01EPDxhZGRyX2xlbikgfCBpbmRleCk8PDE2KSB8ICh2YWx1ZSAmIDB4ZmZmZiksCisJCQkJICAzICsgYWRkcl9sZW4gKyAxNik7CisJLyogUG9sbCBmb3Igd3JpdGUgZmluaXNoZWQuICovCisJaSA9IGVlcHJvbV9idXN5X3BvbGwoZWVfaW9hZGRyKTsJCQkvKiBUeXBpY2FsIDIwMDAgdGlja3MgKi8KKwlpZiAoZGVidWcpCisJCW1vbl9wcmludGYoIiBXcml0ZSBmaW5pc2hlZCBhZnRlciAlZCB0aWNrcy5cbiIsIGkpOworCS8qIERpc2FibGUgcHJvZ3JhbW1pbmcuIFRoaXMgY29tbWFuZCBpcyBub3QgaW5zdGFudGFuZW91cywgc28gd2UgY2hlY2sKKwkgICBmb3IgYnVzeSBiZWZvcmUgdGhlIG5leHQgb3AuICovCisJZG9fZWVwcm9tX2NtZChpb2FkZHIsICgweDQwIDw8IChhZGRyX2xlbi00KSksIDMgKyBhZGRyX2xlbik7CisJZWVwcm9tX2J1c3lfcG9sbChlZV9pb2FkZHIpOworfQorCitzdGF0aWMgaW50IHJlc2V0X2VlcHJvbSh1bnNpZ25lZCBsb25nIGlvYWRkciwgdW5zaWduZWQgY2hhciAqaHdhZGRyKQoreworCXVuc2lnbmVkIHNob3J0IGNoZWNrc3VtID0gMDsKKwlpbnQgc2l6ZV90ZXN0OworCWludCBpOworCisJbW9uX3ByaW50ZigiUmVzZXR0aW5nIGk4MjU1OSBFRVBST00gQCAweCUwOHggLi4uICIsIGlvYWRkcik7CisKKwlzaXplX3Rlc3QgPSBkb19lZXByb21fY21kKGlvYWRkciwgKEVFX1JFQURfQ01EIDw8IDgpIDw8IDE2LCAyNyk7CisJZWVwcm9tX2FkZHJfc2l6ZSA9IChzaXplX3Rlc3QgJiAweGZmZTAwMDApID09IDB4ZmZlMDAwMCA/IDggOiA2OworCWVlcHJvbV9zaXplID0gMSA8PCBlZXByb21fYWRkcl9zaXplOworCisJbWVtY3B5KGVlcHJvbSwgZGVmYXVsdF9lZXByb20sIHNpemVvZiBkZWZhdWx0X2VlcHJvbSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKQorCQllZXByb21baV0gPSAoaHdhZGRyW2kqMisxXTw8OCkgKyBod2FkZHJbaSoyXTsKKworCS8qIFJlY2FsY3VsYXRlIHRoZSBjaGVja3N1bS4gKi8KKwlmb3IgKGkgPSAwOyBpIDwgZWVwcm9tX3NpemUgLSAxOyBpKyspCisJCWNoZWNrc3VtICs9IGVlcHJvbVtpXTsKKwllZXByb21baV0gPSAweEJBQkEgLSBjaGVja3N1bTsKKworCWZvciAoaSA9IDA7IGkgPCBlZXByb21fc2l6ZTsgaSsrKQorCQl3cml0ZV9lZXByb20oaW9hZGRyLCBpLCBlZXByb21baV0sIGVlcHJvbV9hZGRyX3NpemUpOworCisJZm9yIChpID0gMDsgaSA8IGVlcHJvbV9zaXplOyBpKyspCisJCWlmIChyZWFkX2VlcHJvbShpb2FkZHIsIGksIGVlcHJvbV9hZGRyX3NpemUpICE9IGVlcHJvbVtpXSkgeworCQkJbW9uX3ByaW50ZigiZmFpbGVkXG4iKTsKKwkJCXJldHVybiAxOworCQl9CisKKwltb25fcHJpbnRmKCJkb25lXG4iKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIGludCBoYXRvaShjaGFyICpwLCBjaGFyICoqZXJycCkKK3sKKwl1bnNpZ25lZCBpbnQgcmVzID0gMDsKKwkKKwl3aGlsZSAoMSkgeworCQlzd2l0Y2ggKCpwKSB7CisJCWNhc2UgJ2EnOgorCQljYXNlICdiJzoKKwkJY2FzZSAnYyc6CisJCWNhc2UgJ2QnOgorCQljYXNlICdlJzoKKwkJY2FzZSAnZic6CisJCQlyZXMgfD0gKCpwIC0gJ2EnICsgMTApOworCQkJYnJlYWs7CisJCWNhc2UgJ0EnOgorCQljYXNlICdCJzoKKwkJY2FzZSAnQyc6CisJCWNhc2UgJ0QnOgorCQljYXNlICdFJzoKKwkJY2FzZSAnRic6CisJCQlyZXMgfD0gKCpwIC0gJ0EnICsgMTApOworCQkJYnJlYWs7CisJCWNhc2UgJzAnOgorCQljYXNlICcxJzoKKwkJY2FzZSAnMic6CisJCWNhc2UgJzMnOgorCQljYXNlICc0JzoKKwkJY2FzZSAnNSc6CisJCWNhc2UgJzYnOgorCQljYXNlICc3JzoKKwkJY2FzZSAnOCc6CisJCWNhc2UgJzknOgorCQkJcmVzIHw9ICgqcCAtICcwJyk7CisJCQlicmVhazsJCQorCQlkZWZhdWx0OgorCQkJaWYgKGVycnApIHsKKwkJCQkqZXJycCA9IHA7CisJCQl9CisJCXJldHVybiByZXM7CisJCX0KKwkJcCsrOworCQlpZiAoKnAgPT0gMCkgeworCQkJYnJlYWs7CisJCX0KKwkJcmVzIDw8PSA0OworCX0KKwkKKwlpZiAoZXJycCkgeworCQkqZXJycCA9IE5VTEw7CisJfQorCQorCXJldHVybiByZXM7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBjaGFyICpnZXRod2FkZHIoY2hhciAqaW4sIHVuc2lnbmVkIGNoYXIgKm91dCkKK3sKKwljaGFyIHRtcFszXTsKKwlpbnQgaTsKKwljaGFyICplcnI7CisJCisJZm9yIChpPTA7aTw2O2krKykgeworCQlpZiAoaW5baSozKzJdID09IDAgJiYgaSA9PSA1KSB7CisJCQlvdXRbaV0gPSBoYXRvaSgmaW5baSozXSwgJmVycik7CisJCQlpZiAoZXJyKSB7CisJCQkJcmV0dXJuIE5VTEw7CisJCQl9CisJCX0gZWxzZSBpZiAoaW5baSozKzJdID09ICc6JyAmJiBpIDwgNSkgeworCQkJdG1wWzBdID0gaW5baSozXTsKKwkJCXRtcFsxXSA9IGluW2kqMysxXTsKKwkJCXRtcFsyXSA9IDA7CisJCQlvdXRbaV0gPSBoYXRvaSh0bXAsICZlcnIpOworCQkJaWYgKGVycikgeworCQkJCXJldHVybiBOVUxMOworCQkJfQorCQl9IGVsc2UgeworCQkJcmV0dXJuIE5VTEw7CisJCX0JCQorCX0KKwkKKwlyZXR1cm4gb3V0OworfQorCitzdGF0aWMgdTMyCityZWFkX2NvbmZpZ19kd29yZChpbnQgYnVzLCBpbnQgZGV2LCBpbnQgZnVuYywgaW50IHJlZykKK3sJCQkJCQkJCQkgCisJdTMyIHJlczsKKwkKKwlvdXRsKDB4ODAwMDAwMDB8KGJ1cyYweGZmKTw8MTZ8KGRldiYweDFmKTw8MTF8KGZ1bmMmNyk8PDh8KHJlZyYweGZjKSwKKwkgICAgIDB4Y2Y4KTsKKwlyZXMgPSBpbmwoMHhjZmMpOworCW91dGwoMCwgMHhjZjgpOyAKKwlyZXR1cm4gcmVzOyAKK30KKworc3RhdGljIHUxNgorcmVhZF9jb25maWdfd29yZChpbnQgYnVzLCBpbnQgZGV2LCBpbnQgZnVuYywgaW50IHJlZykKK3sJCQkJCQkJCQkgCisJdTMyIHJlczsKKwkKKwlvdXRsKDB4ODAwMDAwMDB8KGJ1cyYweGZmKTw8MTZ8KGRldiYweDFmKTw8MTF8KGZ1bmMmNyk8PDh8KHJlZyYweGZjKSwKKwkgICAgIDB4Y2Y4KTsKKwlyZXMgPSBpbncoMHhjZmMgKyAocmVnICYgMikpOworCW91dGwoMCwgMHhjZjgpOyAKKwlyZXR1cm4gcmVzOyAKK30KKworc3RhdGljIHZvaWQKK3dyaXRlX2NvbmZpZ193b3JkKGludCBidXMsIGludCBkZXYsIGludCBmdW5jLCBpbnQgcmVnLCB1MTYgZGF0YSkKK3sJCQkJCQkJCQkgCisJCisJb3V0bCgweDgwMDAwMDAwfChidXMmMHhmZik8PDE2fChkZXYmMHgxZik8PDExfChmdW5jJjcpPDw4fChyZWcmMHhmYyksCisJICAgICAweGNmOCk7CisJb3V0dyhkYXRhLCAweGNmYyArIChyZWcgJiAyKSk7CisJb3V0bCgwLCAweGNmOCk7IAorfQorCisKKworaW50IG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJdW5zaWduZWQgY2hhciAqZXRoX2FkZHI7CisJY2hhciBidWZbNl07CisJaW50IGluc3RhbmNlOworCQorCWlmIChhcmdjICE9IDIpIHsKKwkJbW9uX3ByaW50ZiAoImNhbGwgd2l0aCBiYXNlIEV0aGVybmV0IGFkZHJlc3NcbiIpOworCQlyZXR1cm4gMTsKKwl9CisJCisJCisJZXRoX2FkZHIgPSBnZXRod2FkZHIoYXJndlsxXSwgYnVmKTsKKwlpZiAoTlVMTCA9PSBldGhfYWRkcikgeworCQltb25fcHJpbnRmICgiQ2FuIG5vdCBwYXJzZSBldGhlcm5ldCBhZGRyZXNzXG4iKTsKKwkJcmV0dXJuIDE7CisJfQorCWlmIChldGhfYWRkcls1XSAmIDB4MDEpIHsKKwkJbW9uX3ByaW50ZigiQmFzZSBFdGhlcm5ldCBhZGRyZXNzIG11c3QgYmUgZXZlblxuIik7CisJfQorCQkKKwkKKwlmb3IgKGluc3RhbmNlID0gMDsgaW5zdGFuY2UgPCAyOyBpbnN0YW5jZSArKykgIHsKKwkJdW5zaWduZWQgaW50IGlvX2FkZHI7CisJCXVuc2lnbmVkIGNoYXIgbWFjWzZdOworCQlpbnQgYmFyMSA9IHJlYWRfY29uZmlnX2R3b3JkKDAsIDYraW5zdGFuY2UsIDAsIDB4MTQpOworCQlpZiAoISAoYmFyMSAmIDEpKSB7CisJCQltb25fcHJpbnRmKCJFVEglZCBpcyBkaXNhYmxlZCAleFxuIiwgaW5zdGFuY2UsIGJhcjEpOworCQl9IGVsc2UgeworCQkJbW9uX3ByaW50ZigiRVRIJWQgSU89MHglMDR4XG4iLCBpbnN0YW5jZSwgYmFyMSAmIH4zKTsKKwkJfQorCQlpb19hZGRyID0gKGJhcjEgJiAofjNMKSk7CisJCQorCQkKKwkJd3JpdGVfY29uZmlnX3dvcmQoMCwgNitpbnN0YW5jZSwgMCwgNCwgCisJCQkJICByZWFkX2NvbmZpZ193b3JkKDAsIDYraW5zdGFuY2UsIDAsIDQpIHwgMSk7CisJCW1vbl9wcmludGYoIkVUSCVkIENNRCAlMDR4XG4iLCBpbnN0YW5jZSwKKwkJCSAgIHJlYWRfY29uZmlnX3dvcmQoMCwgNitpbnN0YW5jZSwgMCwgNCkpOworCQkKKwkJbWVtY3B5KG1hYywgZXRoX2FkZHIsIDYpOworCQltYWNbNV0gKz0gaW5zdGFuY2U7CisJCQorCQltb25fcHJpbnRmKCJnb3QgaW89JTA0eCwgaGE9JTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4OiUwMnhcbiIsCisJCQkgICBpb19hZGRyLCBtYWNbMF0sIG1hY1sxXSwgbWFjWzJdLCAKKwkJCSAgIG1hY1szXSwgbWFjWzRdLCBtYWNbNV0pOyAKKwkJcmVzZXRfZWVwcm9tKGlvX2FkZHIsIG1hYyk7CisJfQorCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvTWFrZWZpbGUgYi9leGFtcGxlcy9NYWtlZmlsZQppbmRleCBiNjkwZmEwLi45YWJmZjYzIDEwMDY0NAotLS0gYS9leGFtcGxlcy9NYWtlZmlsZQorKysgYi9leGFtcGxlcy9NYWtlZmlsZQpAQCAtMjgsNiArMjgsMTEgQEAKIFNSRUMJPSBoZWxsb193b3JsZC5zcmVjCiBCSU4JPSBoZWxsb193b3JsZC5iaW4KIAoraWZlcSAoJChBUkNIKSxpMzg2KQorU1JFQyAgICs9IDgyNTU5X2VlcHJvbS5zcmVjCitCSU4gICAgKz0gODI1NTlfZWVwcm9tLmJpbgorZW5kaWYKKwogaWZlcSAoJChBUkNIKSxwcGMpCiBTUkVDICAgKz0gc2NoZWQuc3JlYwogQklOICAgICs9IHNjaGVkLmJpbgpkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvc3lzY2FsbC5TIGIvZXhhbXBsZXMvc3lzY2FsbC5TCmluZGV4IDUxMDgwN2IuLjJhZjZmNDggMTAwNjQ0Ci0tLSBhL2V4YW1wbGVzL3N5c2NhbGwuUworKysgYi9leGFtcGxlcy9zeXNjYWxsLlMKQEAgLTc2LDcgKzc2LDExIEBACiAjZGVmaW5lIFNZU0NBTEwobmFtZSxuKSBcCiAJLmdsb2JsIFNZTUJPTF9OQU1FKG5hbWUpIDsgXAogU1lNQk9MX05BTUVfTEFCRUwobmFtZSkgICAgIAkJIDsgXAotCXJldAorCW1vdmwgICAgJG4sICVlYXggO1wKKwlwdXNobCAgICVlYng7IFwKKwlwdXNobCAgICVlY3g7IFwKKwlpbnQgICAgICQweDQwIDtcCisKIAogI2VuZGlmCS8qIENPTkZJR19JMzg2ICovCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWkzODYvYml0b3BzLmggYi9pbmNsdWRlL2FzbS1pMzg2L2JpdG9wcy5oCmluZGV4IGEzMDYzY2EuLjdkMjkzMzUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWkzODYvYml0b3BzLmgKKysrIGIvaW5jbHVkZS9hc20taTM4Ni9iaXRvcHMuaApAQCAtNSw3ICs1LDYgQEAKICAqIENvcHlyaWdodCAxOTkyLCBMaW51cyBUb3J2YWxkcy4KICAqLwogCi0jaW5jbHVkZSA8bGludXgvY29uZmlnLmg+CiAKIC8qCiAgKiBUaGVzZSBoYXZlIHRvIGJlIGRvbmUgd2l0aCBpbmxpbmUgYXNzZW1ibHk6IHRoYXQgd2F5IHRoZSBiaXQtc2V0dGluZwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20taTM4Ni9ieXRlb3JkZXIuaCBiL2luY2x1ZGUvYXNtLWkzODYvYnl0ZW9yZGVyLmgKaW5kZXggYmJmYjYyOS4uYTljNjlkNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20taTM4Ni9ieXRlb3JkZXIuaAorKysgYi9pbmNsdWRlL2FzbS1pMzg2L2J5dGVvcmRlci5oCkBAIC01LDEwICs1LDYgQEAKIAogI2lmZGVmIF9fR05VQ19fCiAKLS8qIEZvciBhdm9pZGluZyBic3dhcCBvbiBpMzg2ICovCi0jaWZkZWYgX19LRVJORUxfXwotI2luY2x1ZGUgPGxpbnV4L2NvbmZpZy5oPgotI2VuZGlmCiAKIHN0YXRpYyBfX2lubGluZV9fIF9fY29uc3RfXyBfX3UzMiBfX19hcmNoX19zd2FiMzIoX191MzIgeCkKIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWkzODYvaWMvc2M1MjAuaCBiL2luY2x1ZGUvYXNtLWkzODYvaWMvc2M1MjAuaAppbmRleCA5NzA4NTA0Li4xODM2Zjk5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1pMzg2L2ljL3NjNTIwLmgKKysrIGIvaW5jbHVkZS9hc20taTM4Ni9pYy9zYzUyMC5oCkBAIC0xMTYsNiArMTE2LDExIEBACiAjZGVmaW5lIFNDNTIwX1VBUlQyQ1RMCQkweDBjYzQJICAgICAgICAvKiBVQVJUIDIgR2VuZXJhbCBDb250cm9sIFJlZ2lzdGVyICovCiAjZGVmaW5lIFNDNTIwX1VBUlQyU1RBCQkweDBjYzUJICAgICAgICAvKiBVQVJUIDIgR2VuZXJhbCBTdGF0dXMgUmVnaXN0ZXIgKi8KICNkZWZpbmUgU0M1MjBfVUFSVDJGQ1JTSEFECTB4MGNjNgkgICAgICAgIC8qIFVBUlQgMiBGSUZPIENvbnRyb2wgU2hhZG93IFJlZ2lzdGVyICovCisjZGVmaW5lIFNDNTIwX1NTSUNUTCAgICAgICAgICAgIDB4MGNkMCAgICAgICAgICAvKiBTU0kgQ29udHJvbCAqLworI2RlZmluZSBTQzUyMF9TU0lYTUlUICAgICAgICAgICAweDBjZDEgICAgICAgICAgLyogU1NJIFRyYW5zbWl0ICovCisjZGVmaW5lIFNDNTIwX1NTSUNNRCAgICAgICAgICAgIDB4MGNkMiAgICAgICAgICAvKiBTU0kgQ29tbWFuZCAqLworI2RlZmluZSBTQzUyMF9TU0lTVEEgICAgICAgICAgICAweDBjZDMgICAgICAgICAgLyogU1NJIFN0YXR1cyAqLworI2RlZmluZSBTQzUyMF9TU0lSQ1YgICAgICAgICAgICAweDBjZDQgICAgICAgICAgLyogU1NJIFJlY2VpdmUgKi8KICNkZWZpbmUgU0M1MjBfUElDSUNSCQkweDBkMDAJCS8qIEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyICovCiAjZGVmaW5lIFNDNTIwX01QSUNNT0RFCQkweDBkMDIJCS8qIE1hc3RlciBQSUMgSW50ZXJydXB0IE1vZGUgUmVnaXN0ZXIgKi8KICNkZWZpbmUgU0M1MjBfU0wxUElDTU9ERQkweDBkMDMJCS8qIFNsYXZlIDEgUElDIEludGVycnVwdCBNb2RlIFJlZ2lzdGVyICovCkBAIC0xOTUsOSArMjAwLDMxIEBACiAKIC8qIE1NQ1IgUmVnaXN0ZXIgYml0cyAobm90IGFsbCBvZiB0aGVtIDopICkgKi8KIAorLyogU1NJIFN0dWZmICovCisjZGVmaW5lIENUTF9DTEtfU0VMXzQgICAgICAgICAgIDB4MDAgICAgICAgICAgIC8qIE5vbWluYWwgQml0IFJhdGUgPSA4IE1IeiAgICAqLworI2RlZmluZSBDVExfQ0xLX1NFTF84ICAgICAgICAgICAweDEwICAgICAgICAgICAvKiBOb21pbmFsIEJpdCBSYXRlID0gNCBNSHogICAgKi8KKyNkZWZpbmUgQ1RMX0NMS19TRUxfMTYgICAgICAgICAgMHgyMCAgICAgICAgICAgLyogTm9taW5hbCBCaXQgUmF0ZSA9IDIgTUh6ICAgICovCisjZGVmaW5lIENUTF9DTEtfU0VMXzMyICAgICAgICAgIDB4MzAgICAgICAgICAgIC8qIE5vbWluYWwgQml0IFJhdGUgPSAxIE1IeiAgICAqLworI2RlZmluZSBDVExfQ0xLX1NFTF82NCAgICAgICAgICAweDQwICAgICAgICAgICAvKiBOb21pbmFsIEJpdCBSYXRlID0gNTEyIEtIeiAgKi8KKyNkZWZpbmUgQ1RMX0NMS19TRUxfMTI4ICAgICAgICAgMHg1MCAgICAgICAgICAgLyogTm9taW5hbCBCaXQgUmF0ZSA9IDI1NiBLSHogICovCisjZGVmaW5lIENUTF9DTEtfU0VMXzI1NiAgICAgICAgIDB4NjAgICAgICAgICAgIC8qIE5vbWluYWwgQml0IFJhdGUgPSAxMjggS0h6ICAqLworI2RlZmluZSBDVExfQ0xLX1NFTF81MTIgICAgICAgICAweDcwICAgICAgICAgICAvKiBOb21pbmFsIEJpdCBSYXRlID0gNjQgS0h6ICAgKi8KKworI2RlZmluZSBUQ19JTlRfRU5CICAgICAgICAgICAgICAweDA4ICAgICAgICAgICAvKiBUcmFuc2FjdGlvbiBDb21wbGV0ZSBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFBIU19JTlZfRU5CICAgICAgICAgICAgIDB4MDQgICAgICAgICAgIC8qIFNTSSBJbnZlcnRlZCBQaGFzZSBNb2RlIEVuYWJsZSAqLworI2RlZmluZSBDTEtfSU5WX0VOQiAgICAJICAgICAgICAweDAyICAgICAgICAgICAvKiBTU0kgSW52ZXJ0ZWQgQ2xvY2sgTW9kZSBFbmFibGUgKi8KKyNkZWZpbmUgTVNCRl9FTkIgICAgICAJICAgICAgICAweDAxICAgICAgICAgICAvKiBTU0kgTW9zdCBTaWduaWZpY2FudCBCaXQgRmlyc3QgTW9kZSBFbmFibGUgKi8KKworI2RlZmluZSBTU0lDTURfQ01EX1NFTF9YTUlUUkNWICAweDAzICAgICAgICAgICAvKiBTaW11bHRhbmVvdXMgVHJhbnNtaXQgLyBSZWNlaXZlIFRyYW5zYWN0aW9uICovCisjZGVmaW5lIFNTSUNNRF9DTURfU0VMX1JDViAgICAgIDB4MDIgICAgICAgICAgIC8qIFJlY2VpdmUgVHJhbnNhY3Rpb24gKi8KKyNkZWZpbmUgU1NJQ01EX0NNRF9TRUxfWE1JVCAgICAgMHgwMSAgICAgICAgICAgLyogVHJhbnNtaXQgVHJhbnNhY3Rpb24gKi8KKyNkZWZpbmUgU1NJU1RBX0JTWSAgICAgICAgICAgICAgMHgwMiAgICAgICAgICAgLyogU1NJIEJ1c3kgKi8KKyNkZWZpbmUgU1NJU1RBX1RDX0lOVCAgICAgICAgICAgMHgwMSAgICAgICAgICAgLyogU1NJIFRyYW5zYWN0aW9uIENvbXBsZXRlIEludGVycnVwdCAqLworCisKIC8qIEJJVFMgZm9yIFNDNTIwX0FERERFQ0NUTDogKi8KICNkZWZpbmUgV1BWX0lOVF9FTkIJCTB4ODAJCS8qIFdyaXRlLVByb3RlY3QgVmlvbGF0aW9uIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgSU9fSE9MRV9ERVNUCQkweDEwCQkvKiBJL08gSG9sZSBBY2Nlc3MgRGVzdGluYXRpb24gKi8KKyNkZWZpbmUgSU9fSE9MRV9ERVNUX1BDSQkweDEwCQkvKiBJL08gSG9sZSBBY2Nlc3MgRGVzdGluYXRpb24gKi8KICNkZWZpbmUgUlRDX0RJUwkJCTB4MDQJCS8qIFJUQyBEaXNhYmxlICovCiAjZGVmaW5lIFVBUlQyX0RJUwkJMHgwMgkJLyogVUFSVDIgRGlzYWJsZSAqLwogI2RlZmluZSBVQVJUMV9ESVMJCTB4MDEJCS8qIFVBUlQxIERpc2FibGUgKi8KQEAgLTIxNSwyNSArMjQyLDY0IEBACiAjZGVmaW5lIFNDNTIwX0lTQV9JT19CVVMJMHgwMDAwMDAwMAogI2RlZmluZSBTQzUyMF9JU0FfSU9fU0laRQkweDAwMDAxMDAwCiAKLS8qIFBDSSBJL08gc3BhY2UgZnJvbSAweDEwMDAgdG8gMHhmZGZmICovCisvKiBQQ0kgSS9PIHNwYWNlIGZyb20gMHgxMDAwIHRvIDB4ZGZmZiAKKyAqIChtYWtlIDB4ZTAwMC0weGZkZmYgYXZhaWxhYmxlIGZvciBzdHVmZiBsaWtlIFBDQ2FyZCBib290KSAqLwogI2RlZmluZSBTQzUyMF9QQ0lfSU9fUEhZUwkweDAwMDAxMDAwCiAjZGVmaW5lIFNDNTIwX1BDSV9JT19CVVMJMHgwMDAwMTAwMAotI2RlZmluZSBTQzUyMF9QQ0lfSU9fU0laRQkweDAwMDBlZTAwCisjZGVmaW5lIFNDNTIwX1BDSV9JT19TSVpFCTB4MDAwMGQwMDAKIAogLyogc3lzdGVtIG1lbW9yeSBmcm9tIDB4MDAwMDAwMDAgdG8gMHgwZmZmZmZmZiAqLwogI2RlZmluZQlTQzUyMF9QQ0lfTUVNT1JZX1BIWVMJMHgwMDAwMDAwMAogI2RlZmluZQlTQzUyMF9QQ0lfTUVNT1JZX0JVUwkweDAwMDAwMDAwCiAjZGVmaW5lIFNDNTIwX1BDSV9NRU1PUllfU0laRQkweDEwMDAwMDAwCiAKLS8qIFBDSSBidXMgbWVtb3J5IGZyb20gMHgxMDAwMDAwMCB0byAweDI3ZmZmZmZmICovCisvKiBQQ0kgYnVzIG1lbW9yeSBmcm9tIDB4MTAwMDAwMDAgdG8gMHgyNmZmZmZmZiAKKyAqIChtYWtlIDB4MjcwMDAwMDAgLSAweDI3ZmZmZmZmIGF2YWlsYWJsZSBmb3Igc3R1ZmYgbGlrZSBQQ0NhcmQgYm9vdCkgKi8KICNkZWZpbmUgU0M1MjBfUENJX01FTV9QSFlTCTB4MTAwMDAwMDAKICNkZWZpbmUgU0M1MjBfUENJX01FTV9CVVMgICAgICAgMHgxMDAwMDAwMAotI2RlZmluZSBTQzUyMF9QQ0lfTUVNX1NJWkUJMHgxODAwMDAwMAorI2RlZmluZSBTQzUyMF9QQ0lfTUVNX1NJWkUJMHgxNzAwMDAwMAogCiAvKiAweDI4MDAwMDAwIC0gMHgzZmZmZmZmZiBpcyB1c2VkIGJ5IHRoZSBmbGFzaCBiYW5rcyAqLwogCiAvKiAweDQwMDAwMDAwIC0gMHhmZmZmZmZmZiBpcyBub3QgYWRyZXNzYWJsZSBieSB0aGUgU0M1MjAgKi8KIAorLyogcHJpb3JpdHkgbnVtYmVycyB1c2VkIGZvciBpbnRlcnJ1cHQgY2hhbm5lbCBtYXBwaW5ncyAqLworI2RlZmluZSBTQzUyMF9JUlFfRElTQUJMRUQgMAorI2RlZmluZSBTQzUyMF9JUlEwICAxCisjZGVmaW5lIFNDNTIwX0lSUTEgIDIKKyNkZWZpbmUgU0M1MjBfSVJRMiAgNCAgLyogc2FtZSBhcyBJUlE5ICovCisjZGVmaW5lIFNDNTIwX0lSUTMgIDExCisjZGVmaW5lIFNDNTIwX0lSUTQgIDEyCisjZGVmaW5lIFNDNTIwX0lSUTUgIDEzCisjZGVmaW5lIFNDNTIwX0lSUTYgIDIxCisjZGVmaW5lIFNDNTIwX0lSUTcgIDIyCisjZGVmaW5lIFNDNTIwX0lSUTggIDMKKyNkZWZpbmUgU0M1MjBfSVJROSAgNAorI2RlZmluZSBTQzUyMF9JUlExMCA1IAorI2RlZmluZSBTQzUyMF9JUlExMSA2CisjZGVmaW5lIFNDNTIwX0lSUTEyIDcKKyNkZWZpbmUgU0M1MjBfSVJRMTMgOAorI2RlZmluZSBTQzUyMF9JUlExNCA5CisjZGVmaW5lIFNDNTIwX0lSUTE1IDEwCisKKworLyogcGluIG51bWJlciB1c2VkIGZvciBQQ0kgaW50ZXJydXB0IG1hcHBpbmdzICovCisjZGVmaW5lIFNDNTIwX1BDSV9JTlRBIDAKKyNkZWZpbmUgU0M1MjBfUENJX0lOVEIgMQorI2RlZmluZSBTQzUyMF9QQ0lfSU5UQyAyCisjZGVmaW5lIFNDNTIwX1BDSV9JTlREIDMKKyNkZWZpbmUgU0M1MjBfUENJX0dQSVJRMCA0CisjZGVmaW5lIFNDNTIwX1BDSV9HUElSUTEgNQorI2RlZmluZSBTQzUyMF9QQ0lfR1BJUlEyIDYKKyNkZWZpbmUgU0M1MjBfUENJX0dQSVJRMyA3CisjZGVmaW5lIFNDNTIwX1BDSV9HUElSUTQgOAorI2RlZmluZSBTQzUyMF9QQ0lfR1BJUlE1IDkKKyNkZWZpbmUgU0M1MjBfUENJX0dQSVJRNiAxMAorI2RlZmluZSBTQzUyMF9QQ0lfR1BJUlE3IDExCisjZGVmaW5lIFNDNTIwX1BDSV9HUElSUTggMTIKKyNkZWZpbmUgU0M1MjBfUENJX0dQSVJROSAxMworI2RlZmluZSBTQzUyMF9QQ0lfR1BJUlExMCAxNAorCiAvKiB1dGlsaXR5IGZ1bmN0aW9ucyAqLwogdm9pZCB3cml0ZV9tbWNyX2J5dGUodTE2IG1tY3IsIHU4IGRhdGEpOwogdm9pZCB3cml0ZV9tbWNyX3dvcmQodTE2IG1tY3IsIHUxNiBkYXRhKTsKQEAgLTI0Miw4ICszMDgsMTEgQEAKIHUxNiByZWFkX21tY3Jfd29yZCh1MTYgbW1jcik7CiB1MzIgcmVhZF9tbWNyX2xvbmcodTE2IG1tY3IpOwogCitleHRlcm4gaW50IHNjNTIwX3BjaV9pbnRzW107CisKIHZvaWQgaW5pdF9zYzUyMCh2b2lkKTsKIHVuc2lnbmVkIGxvbmcgaW5pdF9zYzUyMF9kcmFtKHZvaWQpOwogdm9pZCBwY2lfc2M1MjBfaW5pdChzdHJ1Y3QgcGNpX2NvbnRyb2xsZXIgKmhvc2UpOworaW50IHBjaV9zYzUyMF9zZXRfaXJxKGludCBwY2lfcGluLCBpbnQgaXJxKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1pMzg2L2lvLmggYi9pbmNsdWRlL2FzbS1pMzg2L2lvLmgKaW5kZXggZDhjNTAzYy4uZDE3ZDQ1ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20taTM4Ni9pby5oCisrKyBiL2luY2x1ZGUvYXNtLWkzODYvaW8uaApAQCAtMSw4ICsxLDYgQEAKICNpZm5kZWYgX0FTTV9JT19ICiAjZGVmaW5lIF9BU01fSU9fSAogCi0jaW5jbHVkZSA8bGludXgvY29uZmlnLmg+Ci0KIC8qCiAgKiBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGRlZmluaXRpb25zIGZvciB0aGUgeDg2IElPIGluc3RydWN0aW9ucwogICogaW5iL2ludy9pbmwvb3V0Yi9vdXR3L291dGwgYW5kIHRoZSAic3RyaW5nIHZlcnNpb25zIiBvZiB0aGUgc2FtZQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20taTM4Ni9wY2kuaCBiL2luY2x1ZGUvYXNtLWkzODYvcGNpLmgKaW5kZXggMTVjMTY1Yi4uM2E5MWY1NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20taTM4Ni9wY2kuaAorKysgYi9pbmNsdWRlL2FzbS1pMzg2L3BjaS5oCkBAIC0yNyw1ICsyNywxMSBAQAogI2RlZmluZSBfUENJX0kzODZfSF8JMQogCiB2b2lkIHBjaV9zZXR1cF90eXBlMShzdHJ1Y3QgcGNpX2NvbnRyb2xsZXIqIGhvc2UsIHUzMiBjZmdfYWRkciwgdTMyIGNmZ19kYXRhKTsKK2ludCBwY2lfZW5hYmxlX2xlZ2FjeV92aWRlb19wb3J0cyhzdHJ1Y3QgcGNpX2NvbnRyb2xsZXIqIGhvc2UpOworaW50IHBjaV9zaGFkb3dfcm9tKHBjaV9kZXZfdCBkZXYsIHVuc2lnbmVkIGNoYXIgKmRlc3QpOwordm9pZCBwY2lfcmVtb3ZlX3JvbV93aW5kb3coc3RydWN0IHBjaV9jb250cm9sbGVyKiBob3NlLCB1MzIgYWRkcik7Cit1MzIgcGNpX2dldF9yb21fd2luZG93KHN0cnVjdCBwY2lfY29udHJvbGxlciogaG9zZSwgaW50IHNpemUpOworCisKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1pMzg2L3JlYWxtb2RlLmggYi9pbmNsdWRlL2FzbS1pMzg2L3JlYWxtb2RlLmgKaW5kZXggZmNiNzZjMy4uYTg0ZjEyOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20taTM4Ni9yZWFsbW9kZS5oCisrKyBiL2luY2x1ZGUvYXNtLWkzODYvcmVhbG1vZGUuaApAQCAtMjcsNSArMjcsNiBAQAogCiBpbnQgYmlvc19zZXR1cCh2b2lkKTsKIGludCBlbnRlcl9yZWFsbW9kZSh1MTYgc2VnLCB1MTYgb2ZmLCBzdHJ1Y3QgcHRfcmVncyAqaW4sIHN0cnVjdCBwdF9yZWdzICpvdXQpOworaW50IGVudGVyX3JlYWxtb2RlX2ludCh1OCBsdmwsIHN0cnVjdCBwdF9yZWdzICppbiwgc3RydWN0IHB0X3JlZ3MgKm91dCk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20taTM4Ni91LWJvb3QtaTM4Ni5oIGIvaW5jbHVkZS9hc20taTM4Ni91LWJvb3QtaTM4Ni5oCmluZGV4IDZlNWUwNTkuLjEyZDEwYTcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWkzODYvdS1ib290LWkzODYuaAorKysgYi9pbmNsdWRlL2FzbS1pMzg2L3UtYm9vdC1pMzg2LmgKQEAgLTQ2LDggKzQ2LDE1IEBACiBpbnQgdGltZXJfaW5pdCh2b2lkKTsKIAogLyogYm9hcmQvLi4uLy4uLiAqLwotaW50CWJvYXJkX2luaXQodm9pZCk7Ci1pbnQJZHJhbV9pbml0ICh2b2lkKTsKK2ludCBib2FyZF9pbml0KHZvaWQpOworaW50IGRyYW1faW5pdCh2b2lkKTsKKwordm9pZCBpc2FfdW5tYXBfcm9tKHUzMiBhZGRyKTsKK3UzMiBpc2FfbWFwX3JvbSh1MzIgYnVzX2FkZHIsIGludCBzaXplKTsKKworLyogbGliX2kzODYvLi4uICovCitpbnQgdmlkZW9fYmlvc19pbml0KHZvaWQpOworaW50IHZpZGVvX2luaXQodm9pZCk7CiAKIAogI2VuZGlmCS8qIF9VX0JPT1RfSTM4Nl9IXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20taTM4Ni91LWJvb3QuaCBiL2luY2x1ZGUvYXNtLWkzODYvdS1ib290LmgKaW5kZXggNTU0YmM4NS4uZGM1ZGQ3MiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20taTM4Ni91LWJvb3QuaAorKysgYi9pbmNsdWRlL2FzbS1pMzg2L3UtYm9vdC5oCkBAIC00Myw3ICs0Myw4IEBACiAJdW5zaWduZWQgc2hvcnQJYmlfZXRoc3BlZWQ7CS8qIEV0aGVybmV0IHNwZWVkIGluIE1icHMgKi8KIAl1bnNpZ25lZCBsb25nCWJpX2ludGZyZXE7CS8qIEludGVybmFsIEZyZXEsIGluIE1IeiAqLwogCXVuc2lnbmVkIGxvbmcJYmlfYnVzZnJlcTsJLyogQnVzIEZyZXEsIGluIE1IeiAqLwotCXVuc2lnbmVkIGxvbmcJYmlfYmF1ZHJhdGU7CS8qIENvbnNvbGUgQmF1ZHJhdGUgKi8KKwl1bnNpZ25lZCBpbnQJYmlfYmF1ZHJhdGU7CS8qIENvbnNvbGUgQmF1ZHJhdGUgKi8KKwl1bnNpZ25lZCBsb25nICAgYmlfYm9vdF9wYXJhbXM7CS8qIHdoZXJlIHRoaXMgYm9hcmQgZXhwZWN0cyBwYXJhbXMgKi8KIAlzdHJ1Y3QgZW52aXJvbm1lbnRfcwkgICAgICAgKmJpX2VudjsKIAlzdHJ1Y3QJCQkJLyogUkFNIGNvbmZpZ3VyYXRpb24gKi8KIAl7IApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jbWRfY29uZmRlZnMuaCBiL2luY2x1ZGUvY21kX2NvbmZkZWZzLmgKaW5kZXggMTcwYzM4Zi4uMThjZTZkOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9jbWRfY29uZmRlZnMuaAorKysgYi9pbmNsdWRlL2NtZF9jb25mZGVmcy5oCkBAIC04MCw2ICs4MCw3IEBACiAjZGVmaW5lIENGR19DTURfVkZECTB4MDAwMDQwMDAwMDAwMDAwMAkvKiBWRkQgc3VwcG9ydCAoVFJBQikJCSovCiAjZGVmaW5lIENGR19DTURfTkFORAkweDAwMDA4MDAwMDAwMDAwMDAJLyogTkFORCBzdXBwb3J0ICAgICAgICAJCSovCiAjZGVmaW5lIENGR19DTURfQk1QCTB4MDAwMTAwMDAwMDAwMDAwMAkvKiBCTVAgc3VwcG9ydAkJCSovCisjZGVmaW5lIENGR19DTURfUE9SVElPCTB4MDAwMjAwMDAwMDAwMDAwMAkvKiBQb3J0IEkvTwkJICAgICAgICAqLwogCiAjZGVmaW5lIENGR19DTURfQUxMCTB4RkZGRkZGRkZGRkZGRkZGRgkvKiBBTEwgY29tbWFuZHMJCQkqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2NtZF9uYW5kLmggYi9pbmNsdWRlL2NtZF9uYW5kLmgKaW5kZXggZmViYjI3ZC4uY2U3ZWU4NCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9jbWRfbmFuZC5oCisrKyBiL2luY2x1ZGUvY21kX25hbmQuaApAQCAtMjcsMTggKzI3LDIxIEBACiAKICNpZiAoQ09ORklHX0NPTU1BTkRTICYgQ0ZHX0NNRF9OQU5EKQogI2RlZmluZQlDTURfVEJMX05BTkQJTUtfQ01EX1RCTF9FTlRSWSgJCQkJCVwKLQkibmFuZCIsCTMsCTUsCTEsCWRvX25hbmQsCQkJCQlcCi0JIm5hbmQgICAgLSBOQU5EIHN1Yi1zeXN0ZW1cbiIsCQkJCQlcCisJIm5hbmQiLAkzLAk1LAkxLAlkb19uYW5kLAkJCQlcCisJIm5hbmQgICAgLSBOQU5EIHN1Yi1zeXN0ZW1cbiIsCQkJCQkJXAogCSJpbmZvICAtIHNob3cgYXZhaWxhYmxlIE5BTkQgZGV2aWNlc1xuIgkJCQkJXAogCSJuYW5kIGRldmljZSBbZGV2XSAtIHNob3cgb3Igc2V0IGN1cnJlbnQgZGV2aWNlXG4iCQkJXAotCSJuYW5kIHJlYWQgIGFkZHIgb2ZmIHNpemVcbiIJCQkJCQlcCi0JIm5hbmQgd3JpdGUgYWRkciBvZmYgc2l6ZSAtIHJlYWQvd3JpdGUgYHNpemUnIgkJCQlcCi0JIiBieXRlcyBzdGFydGluZyBhdCBvZmZzZXQgYG9mZidcbiIJCQkJCVwKLQkiICAgIHRvL2Zyb20gbWVtb3J5IGFkZHJlc3MgYGFkZHInXG4iCQkJCQlcCi0JIm5hbmQgZXJhc2Ugb2ZmIHNpemUgLSBlcmFzZSBgc2l6ZScgYnl0ZXMgb2YgTkFORCBmcm9tIG9mZnNldCBgb2ZmJ1xuIglcCisJIm5hbmQgcmVhZFsuamZmczJdICBhZGRyIG9mZiBzaXplXG4iCQkJCQlcCisJIm5hbmQgd3JpdGVbLmpmZnMyXSBhZGRyIG9mZiBzaXplIC0gcmVhZC93cml0ZSBgc2l6ZScgYnl0ZXMgc3RhcnRpbmdcbiIJXAorCSIgICAgYXQgb2Zmc2V0IGBvZmYnIHRvL2Zyb20gbWVtb3J5IGFkZHJlc3MgYGFkZHInXG4iCQkJXAorCSJuYW5kIGVyYXNlIFtjbGVhbl0gW29mZiBzaXplXSAtIGVyYXNlIGBzaXplJyBieXRlcyBmcm9tXG4iCQlcCisJIiAgICBvZmZzZXQgYG9mZicgKGVudGlyZSBkZXZpY2UgaWYgbm90IHNwZWNpZmllZClcbiIJCQlcCisJIm5hbmQgYmFkIC0gc2hvdyBiYWQgYmxvY2tzXG4iCQkJCQkJXAorCSJuYW5kIHJlYWQub29iIGFkZHIgb2ZmIHNpemUgLSByZWFkIG91dC1vZi1iYW5kIGRhdGFcbiIJCQlcCisJIm5hbmQgd3JpdGUub29iIGFkZHIgb2ZmIHNpemUgLSByZWFkIG91dC1vZi1iYW5kIGRhdGFcbiIJCVwKICksCiAKLSNkZWZpbmUgQ01EX1RCTF9OQU5EQk9PVAlNS19DTURfVEJMX0VOVFJZKAkJCQkJXAorI2RlZmluZSBDTURfVEJMX05BTkRCT09UCU1LX0NNRF9UQkxfRU5UUlkoCQkJCVwKIAkibmJvb3QiLCA0LAk0LAkxLAlkb19uYW5kYm9vdCwJCQkJXAogCSJuYm9vdCAgIC0gYm9vdCBmcm9tIE5BTkQgZGV2aWNlXG4iLAkJCQkJXAogCSJsb2FkQWRkciBkZXZcbiIJCQkJCQkJXApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jbWRfcG9ydGlvLmggYi9pbmNsdWRlL2NtZF9wb3J0aW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ODk3YWI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9jbWRfcG9ydGlvLmgKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIChDKSBDb3B5cmlnaHQgMjAwMworICogTWFyYyBTaW5nZXIsIGVsZkBidWljaS5jb20KKyAqCisgKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcworICogcHJvamVjdC4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKyAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLAorICogTUEgMDIxMTEtMTMwNyBVU0EKKyAqLworCisvKgorICogTWVtb3J5IEZ1bmN0aW9ucworICovCisjaWZuZGVmCV9DTURfUE9SVElPX0gKKyNkZWZpbmUgX0NNRF9QT1JUSU9fSAorCisjaWYgKENPTkZJR19DT01NQU5EUyAmIENGR19DTURfUE9SVElPKQorCisjZGVmaW5lIENNRF9UQkxfUE9SVElPX09VVAlNS19DTURfVEJMX0VOVFJZKAkJICAgICAgXAorCSJvdXQiLAkJMywJMywJMSwJZG9fcG9ydGlvX291dCwJICAgICAgXAorCSJvdXQgICAgIC0gd3JpdGUgZGF0dW0gdG8gSU8gcG9ydFxuIiwJCQkgICAgICBcCisJIlsuYiwgLncsIC5sXSBwb3J0IHZhbHVlXG4gICAgLSBvdXRwdXQgdG8gSU8gcG9ydFxuIiAgIAkgICAgICBcCispLAorI2RlZmluZSBDTURfVEJMX1BPUlRJT19JTglNS19DTURfVEJMX0VOVFJZKAkJICAgICAgXAorIAkiaW4iLAkJMiwJMiwJMSwJZG9fcG9ydGlvX2luLAkgICAgICBcCisJImluICAgICAgLSByZWFkIGRhdGEgZnJvbSBhbiBJTyBwb3J0XG4iLAkJICAgICAgXAorCSJbLmIsIC53LCAubF0gcG9ydFxuIgkJCQkJICAgICAgXAorCSIgICAgLSByZWFkIGRhdHVtIGZyb20gSU8gcG9ydFxuIgkJCSAgICAgIFwKKyksCisKK2ludCBkb19wb3J0aW9fb3V0IChjbWRfdGJsX3QgKmNtZHRwLCBpbnQgZmxhZywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSk7CitpbnQgZG9fcG9ydGlvX2luICAoY21kX3RibF90ICpjbWR0cCwgaW50IGZsYWcsIGludCBhcmdjLCBjaGFyICphcmd2W10pOworCisjZWxzZQorI2RlZmluZSBDTURfVEJMX1BPUlRJT19PVVQKKyNkZWZpbmUgQ01EX1RCTF9QT1JUSU9fSU4KKyNlbmRpZgkvKiBDRkdfQ01EX1BPUlRJTyAqLworCisjZW5kaWYJLyogX0NNRF9QT1JUSU9fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jb25maWdzL0FTSDQwNS5oIGIvaW5jbHVkZS9jb25maWdzL0FTSDQwNS5oCmluZGV4IDM5OGJmNzYuLjU0NjhmZTIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvY29uZmlncy9BU0g0MDUuaAorKysgYi9pbmNsdWRlL2NvbmZpZ3MvQVNINDA1LmgKQEAgLTI3OSw3ICsyNzksNyBAQAogCiAvKiBNZW1vcnkgQmFuayAwIChGbGFzaCBCYW5rIDAsIE5PUi1GTEFTSCkgaW5pdGlhbGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICovCiAjZGVmaW5lIENGR19FQkNfUEIwQVAgICAgICAgICAgIDB4OTIwMTU0ODAKLS8vI2RlZmluZSBDRkdfRUJDX1BCMEFQICAgICAgICAgICAweDA4MDU1ODgwICAvKiBUV1Q9MTYsQ1NOPTEsT0VOPTEsV0JOPTEsV0JGPTEsVEg9NCxTT1I9MSAqLworLyojZGVmaW5lIENGR19FQkNfUEIwQVAgICAgICAgICAgIDB4MDgwNTU4ODAgIC9YWFgqIFRXVD0xNixDU049MSxPRU49MSxXQk49MSxXQkY9MSxUSD00LFNPUj0xICovCiAjZGVmaW5lIENGR19FQkNfUEIwQ1IgICAgICAgICAgIDB4RkZDNUEwMDAgIC8qIEJBUz0weEZGQyxCUz00TUIsQlU9Ui9XLEJXPTE2Yml0ICovCiAKIC8qIE1lbW9yeSBCYW5rIDEgKEZsYXNoIEJhbmsgMSwgTkFORC1GTEFTSCkgaW5pdGlhbGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvY29uZmlncy9CVUJJTkdBNDA1RVAuaCBiL2luY2x1ZGUvY29uZmlncy9CVUJJTkdBNDA1RVAuaAppbmRleCAxNzZhODRhLi5mNzc2YTMyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2NvbmZpZ3MvQlVCSU5HQTQwNUVQLmgKKysrIGIvaW5jbHVkZS9jb25maWdzL0JVQklOR0E0MDVFUC5oCkBAIC0yOSw3ICsyOSw3IEBACiAjZGVmaW5lIF9fQ09ORklHX0gKIAogLyogRGVidWcgb3B0aW9ucyAqLwotLy8jZGVmaW5lIF9fREVCVUdfU1RBUlRfRlJPTV9TUkFNX18KKy8qI2RlZmluZSBfX0RFQlVHX1NUQVJUX0ZST01fU1JBTV9fICovCiAKIAogCkBAIC0yNTksNyArMjU5LDcgQEAKICNlbmRpZgogCiAKLS8vI2RlZmluZSBDRkdfTU9OSVRPUl9MRU4JCSgyMDAgKiAxMDI0KQkvKiBSZXNlcnZlIDIwMCBrQiBmb3IgTW9uaXRvcgkqLworLyojZGVmaW5lIENGR19NT05JVE9SX0xFTgkJKDIwMCAqIDEwMjQpCS9YWFgqIFJlc2VydmUgMjAwIGtCIGZvciBNb25pdG9yCSovCiAjZGVmaW5lIENGR19NT05JVE9SX0xFTgkJKDE5MiAqIDEwMjQpCS8qIFJlc2VydmUgMjAwIGtCIGZvciBNb25pdG9yCSovCiAjZGVmaW5lIENGR19NQUxMT0NfTEVOCQkoMTI4ICogMTAyNCkJLyogUmVzZXJ2ZSAxMjgga0IgZm9yIG1hbGxvYygpCSovCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvY29uZmlncy9NUEM4MjY2QURTLmggYi9pbmNsdWRlL2NvbmZpZ3MvTVBDODI2NkFEUy5oCmluZGV4IGUwMTU5YTIuLjQxNGQ1MTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvY29uZmlncy9NUEM4MjY2QURTLmgKKysrIGIvaW5jbHVkZS9jb25maWdzL01QQzgyNjZBRFMuaApAQCAtMjcsNyArMjcsMTggQEAKICAqLwogCiAvKgotICogQ29uZmlnIGhlYWRlciBmaWxlIGZvciBhIE1QQzgyNjBBRFMgUGlsb3QgMTZNIFJhbSBTaW1tLCA4TWJ5dGVzIEZsYXNoIFNpbW0KKyAqIENvbmZpZyBoZWFkZXIgZmlsZSBmb3IgYSBNUEM4MjY2QURTIFBpbG90IDE2TSBSYW0gU2ltbSwgOE1ieXRlcyBGbGFzaCBTaW1tCisgKi8KKworLyogISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhCisgICAhISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISEKKyAgICEhICBUaGlzIGNvbmZpZ3VyYXRpb24gcmVxdWlyZXMgSlAzIHRvIGJlIGluIHBvc2l0aW9uIDEtMiB0byB3b3JrICAhIQorICAgISEgIFRvIG1ha2UgaXQgd29yayBmb3IgdGhlIGRlZmF1bHQsIHRoZSBURVhUX0JBU0UgZGVmaW5lIGluICAgICAgICEhCisgICAhISAgYm9hcmQvbXBjODI2NmFkcy9jb25maWcubWsgbXVzdCBiZSBjaGFuZ2VkIGZyb20gMHhmZTAwMDAwMCB0byAgISEKKyAgICEhICAweGZmZjAwMDAwCQkJCQkJICAgICAgISEKKyAgICEhICBUaGUgQ0ZHX0hSQ1dfTUFTVEVSIGRlZmluZSBiZWxvdyBtdXN0IGFsc28gYmUgY2hhbmdlZCB0byBtYXRjaCAhIQorICAgISEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEhCisgICAhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEgCiAgKi8KIAogI2lmbmRlZiBfX0NPTkZJR19ICkBAIC0zNzUsNiArMzg2LDcgQEAKICNkZWZpbmUgQ0ZHX0lOSVRfU1BfT0ZGU0VUCUNGR19HQkxfREFUQV9PRkZTRVQKIAogCisvKiBVc2UgdGhpcyBIUkNXIGZvciBib290aW5nIGZyb20gYWRkcmVzcyAweGZlMDAwMDAgKEpQMyBpbiBzZXR0aW5nIDEtMikgICovCiAvKiAweDBFQjJCNjQ1ICovCiAjZGVmaW5lIENGR19IUkNXX01BU1RFUiAoKCBIUkNXX0JQUzExIHwgSFJDV19DSVAgKQkJCQl8XAogCQkJICggSFJDV19MMkNQQzEwIHwgSFJDV19EUFBDMTEgfCBIUkNXX0lTQjAxMCApCQl8XApAQCAtMzgyLDggKzM5NCwxMCBAQAogCQkJICggSFJDV19DUzEwUEMwMSB8IEhSQ1dfTU9EQ0tfSDAxMDEgKQkJCVwKIAkJCSkKIAorLyogVXNlIHRoaXMgSFJDVyBmb3IgYm9vdGluZyBmcm9tIGFkZHJlc3MgMHhmZmYwMDAwIChKUDMgaW4gc2V0dGluZyAyLTMpICAqLworLyogI2RlZmluZSBDRkdfSFJDV19NQVNURVIgMHgwY2IyMzY0NSAqLwogCi0vKiBUaGlzIHZhbHVlIHNob3VsZCBhY3R1YWxseSBiZSBzaXR1YXRlZCBpbiB0aGUgZmlyc3QgMjU2IGJ5dGVzIG9mIHRoZSBGTEFTSAorLyogVGhpcyB2YWx1ZSBzaG91bGQgYWN0dWFsbHkgYmUgc2l0dWF0ZWQgaW4gdGhlIGZpcnN0IDI1NiBieXRlcyBvZiB0aGUgRkxBU0ggIAogCXdoaWNoIG9uIHRoZSBzdGFuZGFyZCBNUEM4MjY2QURTIGJvYXJkIGlzIGF0IGFkZHJlc3MgMHhGRjgwMDAwMAogCVRoZSBsaW5rZXIgc2NyaXB0IHBsYWNlcyBpdCBhdCAweEZGRjAwMDAwIGluc3RlYWQuCiAKQEAgLTM5NSw4ICs0MDksNyBAQAogCiAJLSBSdW5lCiAKLQkqLwotLyogI2RlZmluZSBDRkdfSFJDV19NQVNURVIgMHgwY2IyMzY0NSAqLworKi8KIAogLyogbm8gc2xhdmVzICovCiAjZGVmaW5lIENGR19IUkNXX1NMQVZFMSAwCkBAIC00MzYsNyArNDQ5LDI0IEBACiAjZW5kaWYKIAogCi0jZGVmaW5lIENGR19ISUQwX0lOSVQJCTAKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIEhJRHggLSBIYXJkd2FyZSBJbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQgUmVnaXN0ZXJzICAgICAgICAgICAgICAgICAgICAyLTExCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBISUQwIGFsc28gY29udGFpbnMgY2FjaGUgY29udHJvbCAtIGluaXRpYWxseSBlbmFibGUgYm90aCBjYWNoZXMgYW5kCisgKiBpbnZhbGlkYXRlIGNvbnRlbnRzLCB0aGVuIHRoZSBmaW5hbCBzdGF0ZSBsZWF2ZXMgb25seSB0aGUgaW5zdHJ1Y3Rpb24KKyAqIGNhY2hlIGVuYWJsZWQuIE5vdGUgdGhhdCBQb3dlci1PbiBhbmQgSGFyZCByZXNldCBpbnZhbGlkYXRlIHRoZSBjYWNoZXMsCisgKiBidXQgU29mdCByZXNldCBkb2VzIG5vdC4KKyAqCisgKiBISUQxIGhhcyBvbmx5IHJlYWQtb25seSBpbmZvcm1hdGlvbiAtIG5vdGhpbmcgdG8gc2V0LgorICovCisvKiNkZWZpbmUgQ0ZHX0hJRDBfSU5JVAkJMCAqLworI2RlZmluZSBDRkdfSElEMF9JTklUCShISUQwX0lDRSAgfFwKKwkJCSBISUQwX0RDRSAgfFwKKwkJCSBISUQwX0lDRkkgfFwKKwkJCSBISUQwX0RDSSAgfFwKKwkJCSBISUQwX0lGRU0gfFwKKwkJCSBISUQwX0FCRSkKKwogI2RlZmluZSBDRkdfSElEMF9GSU5BTAkJKEhJRDBfSUNFIHwgSElEMF9JRkVNIHwgSElEMF9BQkUgKQogCiAjZGVmaW5lIENGR19ISUQyCQkwCkBAIC01MTksNyArNTQ5LDcgQEAKIAogI2RlZmluZSBDRkdfUENJX01TVFJfTUVNSU9fTE9DQUwgICAgMHhBMDAwMDAwMCAgICAgICAgICAvKiBMb2NhbCBiYXNlICovCiAjZGVmaW5lIENGR19QQ0lfTVNUUl9NRU1JT19CVVMgICAgICAweEEwMDAwMDAwICAgICAgICAgIC8qIFBDSSBiYXNlICAgKi8KLSNkZWZpbmUgQ1BVX1BDSV9NRU1JT19TVEFSVCAgICAgUENJX01TVFJfTUVNSU9fTE9DQUwKKyNkZWZpbmUgQ0ZHX0NQVV9QQ0lfTUVNSU9fU1RBUlQgICAgIFBDSV9NU1RSX01FTUlPX0xPQ0FMCiAjZGVmaW5lIENGR19QQ0lfTVNUUl9NRU1JT19TSVpFICAgICAweDIwMDAwMDAwICAgICAgICAgIC8qIDUxMk1CICovCiAjZGVmaW5lIENGR19QT0NNUjFfTUFTS19BVFRSSUIgICAgICAoUE9DTVJfTUFTS181MTJNQiB8IFBPQ01SX0VOQUJMRSkKIApAQCAtNTMwLDcgKzU2MCw3IEBACiAgKi8KIAogI2RlZmluZSBDRkdfUENJX01TVFJfSU9fTE9DQUwgICAgICAgMHhGNDAwMDAwMCAgICAgICAgICAvKiBMb2NhbCBiYXNlICovCi0jZGVmaW5lIENGR19QQ0lfTVNUUl9JT19CVVMgICAgICAgICAweDAwMDAwMDAwICAgICAgICAgIC8qIFBDSSBiYXNlICAgKi8KKyNkZWZpbmUgQ0ZHX1BDSV9NU1RSX0lPX0JVUyAgICAgICAgIDB4RjQwMDAwMDAgICAgICAgICAgLyogUENJIGJhc2UgICAqLwogI2RlZmluZSBDRkdfQ1BVX1BDSV9JT19TVEFSVCAgICAgICAgUENJX01TVFJfSU9fTE9DQUwKICNkZWZpbmUgQ0ZHX1BDSV9NU1RSX0lPX1NJWkUgICAgICAgIDB4MDQwMDAwMDAgICAgICAgICAgLyogNjRNQiAqLwogI2RlZmluZSBDRkdfUE9DTVIyX01BU0tfQVRUUklCICAgICAgKFBPQ01SX01BU0tfNjRNQiB8IFBPQ01SX0VOQUJMRSB8IFBPQ01SX1BDSV9JTykKZGlmZiAtLWdpdCBhL2luY2x1ZGUvY29uZmlncy9TWE5JODU1VC5oIGIvaW5jbHVkZS9jb25maWdzL1NYTkk4NTVULmgKaW5kZXggYTdmMGMyMS4uYmRhZjY4MyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9jb25maWdzL1NYTkk4NTVULmgKKysrIGIvaW5jbHVkZS9jb25maWdzL1NYTkk4NTVULmgKQEAgLTE0MywxMSArMTQzLDUyIEBACiAKICNkZWZpbmUgQ0ZHX0RJU0NPVkVSX1BIWQogCi0jZGVmaW5lIENPTkZJR19DT01NQU5EUwkJKENPTkZJR19DTURfREZMIHwgQ0ZHX0NNRF9FRVBST00gfCBDRkdfQ01EX0RBVEUpCisjZGVmaW5lIENPTkZJR19DT01NQU5EUwkJKENPTkZJR19DTURfREZMCQl8IFwKKwkJCQkgQ0ZHX0NNRF9FRVBST00JCXwgXAorCQkJCSBDRkdfQ01EX05BTkQJCXwgXAorCQkJCSBDRkdfQ01EX0RBVEUpCiAKIC8qIHRoaXMgbXVzdCBiZSBpbmNsdWRlZCBBRlRFUiB0aGUgZGVmaW5pdGlvbiBvZiBDT05GSUdfQ09NTUFORFMgKGlmIGFueSkgKi8KICNpbmNsdWRlIDxjbWRfY29uZmRlZnMuaD4KIAorLyogTkFORCBmbGFzaCBzdXBwb3J0ICovCisjZGVmaW5lIENPTkZJR19NVERfTkFORF9FQ0NfSkZGUzIKKyNkZWZpbmUgQ0ZHX01BWF9OQU5EX0RFVklDRQkxCS8qIE1heCBudW1iZXIgb2YgTkFORCBkZXZpY2VzCSovCisjZGVmaW5lIFNFQ1RPUlNJWkUgNTEyCisKKyNkZWZpbmUgQUREUl9DT0xVTU4gMQorI2RlZmluZSBBRERSX1BBR0UgMgorI2RlZmluZSBBRERSX0NPTFVNTl9QQUdFIDMKKworI2RlZmluZSBOQU5EX0NoaXBJRF9VTktOT1dOIAkweDAwCisjZGVmaW5lIE5BTkRfTUFYX0ZMT09SUyAxCisjZGVmaW5lIE5BTkRfTUFYX0NISVBTIDEKKworLyogREZCVVNZIGlzIGF2YWlsYWJsZSBvbiBQb3J0IEMsIGJpdCAxMjsgMCBpZiBidXN5ICovCisjZGVmaW5lIE5BTkRfV0FJVF9SRUFEWShuYW5kKQlcCisJd2hpbGUgKCEoKCh2b2xhdGlsZSBpbW1hcF90ICopQ0ZHX0lNTVIpLT5pbV9pb3BvcnQuaW9wX3BjZGF0ICYgMHgwMDA4KSk7CisjZGVmaW5lIFdSSVRFX05BTkRfQ09NTUFORChkLCBhZHIpIFdSSVRFX05BTkQoKGQpLCAoYWRyKSkKKyNkZWZpbmUgV1JJVEVfTkFORF9BRERSRVNTKGQsIGFkcikgV1JJVEVfTkFORCgoZCksIChhZHIpKQorI2RlZmluZSBXUklURV9OQU5EKGQsIGFkcikJXAorCSBkbyB7ICgqKHZvbGF0aWxlIHVpbnQ4X3QgKikoYWRyKSA9ICh1aW50OF90KShkKSk7IH0gd2hpbGUgKDApCisjZGVmaW5lIFJFQURfTkFORChhZHIpICgqKHZvbGF0aWxlIHVpbnQ4X3QgKikoYWRyKSkKKyNkZWZpbmUJQ0xFX0xPCTB4MDEJLyogMCBzZWxlY3RzIENMRSBtb2RlIChDTEUgaGlnaCkgKi8KKyNkZWZpbmUJQUxFX0xPCTB4MDIJLyogMCBzZWxlY3RzIEFMRSBtb2RlIChBTEUgaGlnaCkgKi8KKyNkZWZpbmUJQ0VfTE8JMHgwNAkvKiAxIHNlbGVjdHMgY2hpcCAoQ0UgbG93KSAqLworI2RlZmluZQluYW5kX3NldGNyKGNyLCB2YWwpIGRvIHsqKHZvbGF0aWxlIHVpbnQ4X3QqKShjcikgPSAodmFsKTt9IHdoaWxlICgwKQorI2RlZmluZSBOQU5EX0RJU0FCTEVfQ0UobmFuZCkgXAorCW5hbmRfc2V0Y3IoKG5hbmQpLT5JT19BRERSICsgMSwgQUxFX0xPIHwgQ0xFX0xPKQorI2RlZmluZSBOQU5EX0VOQUJMRV9DRShuYW5kKSBcCisJbmFuZF9zZXRjcigobmFuZCktPklPX0FERFIgKyAxLCBDRV9MTyB8IEFMRV9MTyB8IENMRV9MTykKKyNkZWZpbmUgTkFORF9DVExfQ0xSQUxFKG5hbmRwdHIpIFwKKwluYW5kX3NldGNyKChuYW5kcHRyKSArIDEsIENFX0xPIHwgQUxFX0xPIHwgQ0xFX0xPKQorI2RlZmluZSBOQU5EX0NUTF9TRVRBTEUobmFuZHB0cikgXAorCW5hbmRfc2V0Y3IoKG5hbmRwdHIpICsgMSwgQ0VfTE8gfCBDTEVfTE8pCisjZGVmaW5lIE5BTkRfQ1RMX0NMUkNMRShuYW5kcHRyKSBcCisJbmFuZF9zZXRjcigobmFuZHB0cikgKyAxLCBDRV9MTyB8IEFMRV9MTyB8IENMRV9MTykKKyNkZWZpbmUgTkFORF9DVExfU0VUQ0xFKG5hbmRwdHIpIFwKKwluYW5kX3NldGNyKChuYW5kcHRyKSArIDEsIENFX0xPIHwgQUxFX0xPKQorCiAvKgogICogTWlzY2VsbGFuZW91cyBjb25maWd1cmFibGUgb3B0aW9ucwogICovCkBAIC0zMjksNyArMzcwLDcgQEAKICAqIFRoZXNlIHByZWxpbWluYXJ5IHZhbHVlcyBhcmUgYWxzbyB0aGUgZmluYWwgdmFsdWVzLgogICovCiAjZGVmaW5lIENGR19PUl9USU1JTkdfRlBHQSBcCi0JKE9SX0NTTlRfU0FNIHwgT1JfQUNTX0RJVjIgfCBPUl9CSSB8IE9SX1NDWV81X0NMSyB8IE9SX0VIVFIpCisJKE9SX0NTTlRfU0FNIHwgT1JfQUNTX0RJVjIgfCBPUl9CSSB8IE9SX1NDWV80X0NMSyB8IE9SX0VIVFIgfCBPUl9UUkxYKQogI2RlZmluZSBDRkdfQlIxX1BSRUxJTQkoKENGR19GUEdBX0JBU0UgJiBCUl9CQV9NU0spIHwgQlJfUFNfOCB8IEJSX1YgKQogI2RlZmluZSBDRkdfT1IxX1BSRUxJTQkoKCgtQ0ZHX0ZQR0FfU0laRSkgJiBPUl9BTV9NU0spIHwgQ0ZHX09SX1RJTUlOR19GUEdBKQogCkBAIC0zMzgsNyArMzc5LDcgQEAKICAqIFRoZXNlIHByZWxpbWluYXJ5IHZhbHVlcyBhcmUgYWxzbyB0aGUgZmluYWwgdmFsdWVzLgogICovCiAjZGVmaW5lIENGR19PUl9USU1JTkdfREZMQVNIIFwKLQkoT1JfQ1NOVF9TQU0gfCBPUl9BQ1NfRElWNCB8IE9SX0JJIHwgT1JfU0NZXzVfQ0xLIHwgT1JfRUhUUikKKwkoT1JfQ1NOVF9TQU0gfCBPUl9BQ1NfRElWNCB8IE9SX0JJIHwgT1JfU0NZXzJfQ0xLIHwgT1JfRUhUUiB8IE9SX1RSTFgpCiAjZGVmaW5lIENGR19CUjRfUFJFTElNCSgoQ0ZHX0RGTEFTSF9CQVNFICYgQlJfQkFfTVNLKSB8IEJSX1BTXzggfCBCUl9WICkKICNkZWZpbmUgQ0ZHX09SNF9QUkVMSU0JKCgoLUNGR19ERkxBU0hfU0laRSkgJiBPUl9BTV9NU0spIHwgQ0ZHX09SX1RJTUlOR19ERkxBU0gpCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvY29uZmlncy9zYzUyMF9jZHAuaCBiL2luY2x1ZGUvY29uZmlncy9zYzUyMF9jZHAuaAppbmRleCBlN2Q2Yzc5Li4yOTJiNGJmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2NvbmZpZ3Mvc2M1MjBfY2RwLmgKKysrIGIvaW5jbHVkZS9jb25maWdzL3NjNTIwX2NkcC5oCkBAIC0zNCw2ICszNCw4IEBACiAgKi8KIAogI2RlZmluZSBDT05GSUdfWDg2CQkxCS8qIFRoaXMgaXMgYSBYODYgQ1BVCQkqLworI2RlZmluZSBDT05GSUdfU0M1MjAJCTEJLyogSW5jbHVkZSBzdXBwb3J0IGZvciBBTUQgU0M1MjAgKi8KKyNkZWZpbmUgQ09ORklHX0FMSTE1MlgJCTEJLyogSW5jbHVkZSBzdXBwb3J0IGZvciBBbGkgMTUyeCBTSU8gKi8KIAogI2RlZmluZSBDRkdfU0RSQU1fUFJFQ0hBUkdFX0RFTEFZIDYgICAgIC8qIDZUICovCQogI2RlZmluZSBDRkdfU0RSQU1fUkVGUkVTSF9SQVRFICAgIDc4ICAgIC8qIDcuOHVTIChjaG9pY2VzIGFyZSA3LjgsIDE1LjYsIDMxLjIgb3IgNjIuNXVTKSAqLwpAQCAtNjMsMTYgKzY1LDkgQEAKICNkZWZpbmUgQ09ORklHX01BTExPQ19TSVpFCShDRkdfRU5WX1NJWkUgKyAxMjgqMTAyNCkKIAogCi0vKiBhbGxvdyB0byBvdmVyd3JpdGUgc2VyaWFsIGFuZCBldGhhZGRyICovCi0jZGVmaW5lIENPTkZJR19FTlZfT1ZFUldSSVRFCi0jZGVmaW5lIENGR19FTlZfSVNfTk9XSEVSRSAxCi0jdW5kZWYgQ0ZHX0VOVl9JU19JTl9GTEFTSCAKLSN1bmRlZiBDRkdfRU5WX0lTX0lOX05WUkFNIAotI3VuZGVmIENGR19FTlZfSVNfSU5FRVBST00KLQogI2RlZmluZSBDT05GSUdfQkFVRFJBVEUJCTk2MDAKIAotI2RlZmluZSBDT05GSUdfQ09NTUFORFMgICAgICAgICAoQ09ORklHX0NNRF9ERkwgfCBDRkdfQ01EX1BDSSB8IENGR19DTURfSkZGUzIgfCBDRkdfQ01EX0lERSB8IENGR19DTURfTkVUKQorI2RlZmluZSBDT05GSUdfQ09NTUFORFMgICAgICAgICAoQ09ORklHX0NNRF9ERkwgfCBDRkdfQ01EX1BDSSB8IENGR19DTURfSkZGUzIgfCBDRkdfQ01EX0lERSB8IENGR19DTURfTkVUIHwgQ0ZHX0NNRF9FRVBST00pCiAKIC8qIHRoaXMgbXVzdCBiZSBpbmNsdWRlZCBBRlRFUiB0aGUgZGVmaW5pdGlvbiBvZiBDT05GSUdfQ09NTUFORFMgKGlmIGFueSkgKi8KICNpbmNsdWRlIDxjbWRfY29uZmRlZnMuaD4KQEAgLTg2LDggKzgxLDYgQEAKICNkZWZpbmUgQ09ORklHX0tHREJfU0VSX0lOREVYCTIJCS8qIHdoaWNoIHNlcmlhbCBwb3J0IHRvIHVzZSAqLwogI2VuZGlmCiAKLSNkZWZpbmUgQ0ZHX0pGRlMyX0ZJUlNUX0JBTksgICAgMCAgICAgICAgICAgLyogdXNlIGZvciBKRkZTMiAqLwotI2RlZmluZSBDRkdfSkZGUzJfTlVNX0JBTktTICAgICAxICAgICAgICAgICAvKiAgKi8KIAogLyoKICAqIE1pc2NlbGxhbmVvdXMgY29uZmlndXJhYmxlIG9wdGlvbnMKQEAgLTEwNCw3ICs5Nyw3IEBACiAKICN1bmRlZiAgQ0ZHX0NMS1NfSU5fSFoJCS8qIGV2ZXJ5dGhpbmcsIGluY2wgYm9hcmQgaW5mbywgaW4gSHogKi8KIAotI2RlZmluZQlDRkdfTE9BRF9BRERSCQkweDM4MDAwMDAwCS8qIGRlZmF1bHQgbG9hZCBhZGRyZXNzCSovCisjZGVmaW5lCUNGR19MT0FEX0FERFIJCTB4MTAwMDAwCS8qIGRlZmF1bHQgbG9hZCBhZGRyZXNzCSovCiAKICNkZWZpbmUJQ0ZHX0haCQkJMTAyNAkJLyogaW5jcmVtZW50ZXIgZnJlcTogMWtIeiAqLwogCkBAIC0xMTcsMjcgKzExMCwzNyBAQAogICovCiAjZGVmaW5lIENPTkZJR19OUl9EUkFNX0JBTktTCTQJICAgLyogd2UgaGF2ZSA0IGJhbmtzIG9mIERSQU0gKi8KIAotCi0jZGVmaW5lIFBIWVNfRkxBU0hfMQkJMHgzODAwMDAwMCAvKiBGbGFzaCBCYW5rICMxICovCi0jZGVmaW5lIFBIWVNfRkxBU0hfU0laRQkJMHgwMDgwMDAwMCAvKiA4IE1CICovCi0KLSNkZWZpbmUgQ0ZHX0ZMQVNIX0JBU0UJCVBIWVNfRkxBU0hfMQotCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKiBGTEFTSCBhbmQgZW52aXJvbm1lbnQgb3JnYW5pemF0aW9uCiAgKi8KLSNkZWZpbmUgQ0ZHX01BWF9GTEFTSF9CQU5LUwkxCS8qIG1heCBudW1iZXIgb2YgbWVtb3J5IGJhbmtzCQkqLworCisKKyNkZWZpbmUgQ0ZHX01BWF9GTEFTSF9CQU5LUwkzCS8qIG1heCBudW1iZXIgb2YgbWVtb3J5IGJhbmtzCQkqLwogI2RlZmluZSBDRkdfTUFYX0ZMQVNIX1NFQ1QJNjQJLyogbWF4IG51bWJlciBvZiBzZWN0b3JzIG9uIG9uZSBjaGlwCSovCiAKIC8qIHRpbWVvdXQgdmFsdWVzIGFyZSBpbiB0aWNrcyAqLwogI2RlZmluZSBDRkdfRkxBU0hfRVJBU0VfVE9VVAkoMipDRkdfSFopIC8qIFRpbWVvdXQgZm9yIEZsYXNoIEVyYXNlICovCiAjZGVmaW5lIENGR19GTEFTSF9XUklURV9UT1VUCSgyKkNGR19IWikgLyogVGltZW91dCBmb3IgRmxhc2ggV3JpdGUgKi8KIAotI2RlZmluZQlDRkdfRU5WX0lTX0lOX0ZMQVNICTEKLSNkZWZpbmUgQ0ZHX0VOVl9BRERSCQkoUEhZU19GTEFTSF8xICsgMHg3YTAwMDApCS8qIEFkZHIgb2YgRW52aXJvbm1lbnQgU2VjdG9yCSovCi0jZGVmaW5lIENGR19FTlZfU0laRQkJMHg0MDAwCS8qIFRvdGFsIFNpemUgb2YgRW52aXJvbm1lbnQgU2VjdG9yCSovCisjZGVmaW5lIENPTkZJR19TUElfRUVQUk9NICAgICAgLyogU3VwcG9ydCBmb3IgU1BJIEVFUFJPTXMgKEFUMjUxMjgpICovCisjZGVmaW5lIENPTkZJR19NV19FRVBST00gICAgICAgLyogU3VwcG9ydCBmb3IgTWljcm9XaXJlIEVFUFJPTXMgKEFUOTNMQzQ2KSAqLyAKIAogCisvKiBhbGxvdyB0byBvdmVyd3JpdGUgc2VyaWFsIGFuZCBldGhhZGRyICovCisjZGVmaW5lIENPTkZJR19FTlZfT1ZFUldSSVRFCisKKworLyogRW52aXJvbm1lbnQgaW4gRUVQUk9NICovCisjZGVmaW5lIENGR19FTlZfSVNfSU5fRUVQUk9NICAgMQorI2RlZmluZSBDT05GSUdfU1BJCisjZGVmaW5lIENGR19FTlZfU0laRQkgICAgICAgMHg0MDAwCS8qIFRvdGFsIFNpemUgb2YgRW52aXJvbm1lbnQgRUVQUk9NIDE2ayBpcyBTUEkgaXMgdXNlZCBvciAxMjggYnl0ZXMgaWYgTVcgaXMgdXNlZCovCisjZGVmaW5lIENGR19FTlZfT0ZGU0VUICAgICAgICAgMCAgICAgIAorI2RlZmluZSBDT05GSUdfU0M1MjBfQ0RQX1VTRV9TUEkgIC8qIFN0b3JlIGNvbmZpZ3VyYXRpb24gaW4gdGhlIFNQSSBwYXJ0ICovCisjdW5kZWYgQ09ORklHX1NDNTIwX0NEUF9VU0VfTVcgICAgLyogU3RvcmUgY29uZmlndXJhdGlvbiBpbiB0aGUgTWljcm9XaXJlIHBhcnQgKi8KKyNkZWZpbmUgQ09ORklHX1NQSV9YIDEKKyNkZWZpbmUgQ0ZHX0pGRlMyX0ZJUlNUX0JBTksgICAgMCAgICAgICAgICAgLyogdXNlIGZvciBKRkZTMiAqLworI2RlZmluZSBDRkdfSkZGUzJfTlVNX0JBTktTICAgICAxICAgICAgICAgICAvKiAgKi8KKwogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICogRGV2aWNlIGRyaXZlcnMKICAqLwpAQCAtMTQ2LDE5ICsxNDksMjAgQEAKICNkZWZpbmUgQ09ORklHX1BDTkVUXzc5Qzk3MwogI2RlZmluZSBDT05GSUdfUENORVRfNzlDOTc1CiAjZGVmaW5lIFBDTkVUX0hBU19QUk9NICAgICAgICAgMQorCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBJREUvQVRBIHN0dWZmCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2RlZmluZSBDRkdfSURFX01BWEJVUwkJMiAgIC8qIG1heC4gMiBJREUgYnVzc2VzCSovCisjZGVmaW5lIENGR19JREVfTUFYQlVTCQkxICAgLyogbWF4LiAyIElERSBidXNzZXMJKi8KICNkZWZpbmUgQ0ZHX0lERV9NQVhERVZJQ0UJKENGR19JREVfTUFYQlVTKjIpIC8qIG1heC4gMiBkcml2ZXMgcGVyIElERSBidXMgKi8KIAogI2RlZmluZSBDRkdfQVRBX0lERTBfT0ZGU0VUCTB4MDFGMAkvKiBpZGUwIG9mZnN0ZSAqLwotI2RlZmluZSBDRkdfQVRBX0lERTFfT0ZGU0VUCTB4MDE3MAkvKiBpZGUxIG9mZnNldCAqLworLy8jZGVmaW5lIENGR19BVEFfSURFMV9PRkZTRVQJMHgwMTcwCS8qIGlkZTEgb2Zmc2V0ICovCiAjZGVmaW5lIENGR19BVEFfREFUQV9PRkZTRVQJMAkvKiBkYXRhIHJlZyBvZmZzZXQJKi8KICNkZWZpbmUgQ0ZHX0FUQV9SRUdfT0ZGU0VUCTAJLyogcmVnIG9mZnNldCAqLwogI2RlZmluZSBDRkdfQVRBX0FMVF9PRkZTRVQJMHgyMDAJLyogYWx0ZXJuYXRlIHJlZ2lzdGVyIG9mZnNldCAqLworI2RlZmluZSBDRkdfQVRBX0JBU0VfQUREUiAgICAgICAwCiAKLSN1bmRlZglDT05GSUdfSURFXzh4eF9ESVJFQ1QJCS8qIG5vIHBjbWNpYSBpbnRlcmZhY2UgcmVxdWlyZWQgKi8KICN1bmRlZglDT05GSUdfSURFX0xFRAkJCS8qIG5vIGxlZCBmb3IgaWRlIHN1cHBvcnRlZAkqLwogI3VuZGVmICBDT05GSUdfSURFX1JFU0VUCQkvKiByZXNldCBmb3IgaWRlIHVuc3VwcG9ydGVkLi4uCSovCiAjdW5kZWYgIENPTkZJR19JREVfUkVTRVRfUk9VVElORQkvKiBubyBzcGVjaWFsIHJlc2V0IGZ1bmN0aW9uICovCkBAIC0xNzYsMjMgKzE4MCwxMyBAQAogI2RlZmluZSBDT05GSUdfSVNPX1BBUlRJVElPTiAvKiBFeHBlcmltZW50YWwgKi8KIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogS2V5Ym9hcmQgc3VwcG9ydAorICogVmlkZW8vS2V5Ym9hcmQgc3VwcG9ydAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNkZWZpbmUgQ09ORklHX0lTQV9LRVlCT0FSRAorI2RlZmluZSBDT05GSUdfVklERU8JCQkvKiBUbyBlbmFibGUgdmlkZW8gY29udHJvbGxlciBzdXBwb3J0ICovCisjZGVmaW5lIENPTkZJR19JODA0Ml9LQkQKKyNkZWZpbmUgQ0ZHX0lTQV9JTyAwCiAKLSNpZiAwCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBWaWRlbyBzdXBwb3J0Ci0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2RlZmluZSBDT05GSUdfVklERU8JCQkvKlRvIGVuYWJsZSB2aWRlbyBjb250cm9sbGVyIHN1cHBvcnQgKi8KLSNkZWZpbmUgQ09ORklHX1ZJREVPX0NUNjkwMDAKLSNkZWZpbmUgQ09ORklHX0NGQl9DT05TT0xFCi0jZGVmaW5lIENPTkZJR19WSURFT19MT0dPCi0jZGVmaW5lIENPTkZJR19DT05TT0xFX0VYVFJBX0lORk8KLSNkZWZpbmUgQ09ORklHX1ZHQV9BU19TSU5HTEVfREVWSUNFCi0jZGVmaW5lIENPTkZJR19WSURFT19TV19DVVJTT1IKLSNkZWZpbmUgQ09ORklHX1ZJREVPX09OQk9BUkQJCS8qIFZpZGVvIGNvbnRyb2xsZXIgaXMgb24tYm9hcmQgKi8KLSNlbmRpZgorCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIFJUQwpAQCAtMjA3LDQgKzIwMSwxMCBAQAogI2RlZmluZSBDT05GSUdfUENJX1BOUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBwY2kgcGx1Zy1hbmQtcGxheSAqLwogI2RlZmluZSBDT05GSUdfUENJX1NDQU5fU0hPVwogCisjZGVmaW5lCUNGR19GSVJTVF9QQ0lfSVJRICAgMTAKKyNkZWZpbmUJQ0ZHX1NFQ09ORF9QQ0lfSVJRICA5IAorI2RlZmluZSBDRkdfVEhJUkRfUENJX0lSUSAgIDExIAorI2RlZmluZQlDRkdfRk9SVEhfUENJX0lSUSAgIDE1CisKKwogI2VuZGlmCS8qIF9fQ09ORklHX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvY29uZmlncy9zYzUyMF9zcHVuay5oIGIvaW5jbHVkZS9jb25maWdzL3NjNTIwX3NwdW5rLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQ1YTU2OAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvY29uZmlncy9zYzUyMF9zcHVuay5oCkBAIC0wLDAgKzEsMjEyIEBACisvKgorICogKEMpIENvcHlyaWdodCAyMDAyCisgKiBEYW5pZWwgRW5nc3Ry9m0sIE9taWNyb24gQ2V0aSBBQiwgZGFuaWVsQG9taWNyb24uc2UuCisgKgorICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKKyAqIHByb2plY3QuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCisgKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCSBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwKKyAqIE1BIDAyMTExLTEzMDcgVVNBCisgKi8KKworLyoKKyAqIGJvYXJkL2NvbmZpZy5oIC0gY29uZmlndXJhdGlvbiBvcHRpb25zLCBib2FyZCBzcGVjaWZpYworICovCisKKyNpZm5kZWYgX19DT05GSUdfSAorI2RlZmluZSBfX0NPTkZJR19ICisKKy8qCisgKiBIaWdoIExldmVsIENvbmZpZ3VyYXRpb24gT3B0aW9ucworICogKGVhc3kgdG8gY2hhbmdlKQorICovCisKKyNkZWZpbmUgQ09ORklHX1g4NgkJMQkvKiBUaGlzIGlzIGEgWDg2IENQVQkJKi8KKyNkZWZpbmUgQ09ORklHX1NDNTIwCQkxCS8qIEluY2x1ZGUgc3VwcG9ydCBmb3IgQU1EIFNDNTIwICovCisKKyNkZWZpbmUgQ0ZHX1NEUkFNX1BSRUNIQVJHRV9ERUxBWSA2ICAgICAvKiA2VCAqLwkKKyNkZWZpbmUgQ0ZHX1NEUkFNX1JFRlJFU0hfUkFURSAgICA3OCAgICAvKiA3Ljh1UyAoY2hvaWNlcyBhcmUgNy44LCAxNS42LCAzMS4yIG9yIDYyLjV1UykgKi8KKyNkZWZpbmUgQ0ZHX1NEUkFNX1JBU19DQVNfREVMQVkgICAzICAgICAvKiAzVCAqLworCisvKiBkZWZpbmUgYXQgbW9zdCBvbmUgb2YgdGhlc2UgKi8KKyN1bmRlZiBDRkdfU0RSQU1fQ0FTX0xBVEVOQ1lfMlQKKyNkZWZpbmUgQ0ZHX1NEUkFNX0NBU19MQVRFTkNZXzNUCisKKyNkZWZpbmUgQ0ZHX1NDNTIwX0hJR0hfU1BFRUQgICAgMCAgICAgICAvKiAxMDAgb3IgMTMzTUh6ICovCisjZGVmaW5lIENGR19SRVNFVF9HRU5FUklDICAgICAgIDEgICAgICAgLyogdXNlIHRyaXBwbGUtZmF1bHQgdG8gcmVzZXQgY3B1ICovCisjdW5kZWYgIENGR19SRVNFVF9TQzUyMCAgICAgICAgICAgICAgICAgLyogdXNlIFNDNTIwIE1NQ1IncyB0byByZXNldCBjcHUgKi8KKyN1bmRlZiAgQ0ZHX1RJTUVSX1NDNTIwICAgICAgICAgICAgICAgICAvKiB1c2UgU0M1MjAgc3d0aW1lcnMgKi8KKyNkZWZpbmUgQ0ZHX1RJTUVSX0dFTkVSSUMgICAgICAgMSAgICAgICAvKiB1c2UgdGhlIGk4MjU0IFBJVCB0aW1lcnMgKi8KKyN1bmRlZiAgQ0ZHX1RJTUVSX1RTQyAgICAgICAgICAgICAgICAgICAvKiB1c2UgdGhlIFBlbnRpdW0gVFNDIHRpbWVycyAqLworCisjZGVmaW5lIENGR19TVEFDS19TSVpFICAgICAgICAgIDB4ODAwMCAgLyogU2l6ZSBvZiBib290bG9hZGVyIHN0YWNrICovCisKKyNkZWZpbmUgQ09ORklHX1NIT1dfQk9PVF9QUk9HUkVTUyAxCisjZGVmaW5lIENPTkZJR19MQVNUX1NUQUdFX0lOSVQgICAgMQorCisvKgorICogU2l6ZSBvZiBtYWxsb2MoKSBwb29sCisgKi8KKyNkZWZpbmUgQ09ORklHX01BTExPQ19TSVpFCShDRkdfRU5WX1NJWkUgKyAxMjgqMTAyNCkKKworCisjZGVmaW5lIENPTkZJR19CQVVEUkFURQkJOTYwMAorCisjZGVmaW5lIENPTkZJR19DT01NQU5EUyAgICAgICAgIChDT05GSUdfQ01EX0RGTCB8IENGR19DTURfUENJIHwgQ0ZHX0NNRF9KRkZTMiB8IENGR19DTURfSURFIHwgQ0ZHX0NNRF9ORVQgfCBDRkdfQ01EX1BDTUNJQSB8IENGR19DTURfRUVQUk9NKQorCisvKiB0aGlzIG11c3QgYmUgaW5jbHVkZWQgQUZURVIgdGhlIGRlZmluaXRpb24gb2YgQ09ORklHX0NPTU1BTkRTIChpZiBhbnkpICovCisjaW5jbHVkZSA8Y21kX2NvbmZkZWZzLmg+CisKKyNkZWZpbmUgQ09ORklHX0JPT1RERUxBWQkxNQorI2RlZmluZSBDT05GSUdfQk9PVEFSR1MgICAgCSJyb290PS9kZXYvbXRkYmxvY2sxIGNvbnNvbGU9dHR5UzAsOTYwMCBtdGRwYXJ0cz1waHlzOjc5MzZrKHJvb3QpLDI1NmsodWJvb3QpICIKKyNkZWZpbmUgQ09ORklHX0JPT1RDT01NQU5ECSJzZXRlbnYgYm9vdGFyZ3Mgcm9vdD0vZGV2L25mcyBpcD1hdXRvY29uZiBjb25zb2xlPXR0eVMwLDk2MDAgbXRkcGFydHM9cGh5czo3ODA4ayhyb290KSwxMjhrKGVudiksMjU2ayh1Ym9vdCk7IGJvb3RwOyBib290bSIgCisKKyNpZiAoQ09ORklHX0NPTU1BTkRTICYgQ0ZHX0NNRF9LR0RCKQorI2RlZmluZSBDT05GSUdfS0dEQl9CQVVEUkFURQkxMTUyMDAJCS8qIHNwZWVkIHRvIHJ1biBrZ2RiIHNlcmlhbCBwb3J0ICovCisjZGVmaW5lIENPTkZJR19LR0RCX1NFUl9JTkRFWAkyCQkvKiB3aGljaCBzZXJpYWwgcG9ydCB0byB1c2UgKi8KKyNlbmRpZgorCisKKy8qCisgKiBNaXNjZWxsYW5lb3VzIGNvbmZpZ3VyYWJsZSBvcHRpb25zCisgKi8KKyNkZWZpbmUJQ0ZHX0xPTkdIRUxQCQkJCS8qIHVuZGVmIHRvIHNhdmUgbWVtb3J5CQkqLworI2RlZmluZQlDRkdfUFJPTVBUCQkiYm9vdCA+ICIJLyogTW9uaXRvciBDb21tYW5kIFByb21wdAkqLworI2RlZmluZQlDRkdfQ0JTSVpFCQkyNTYJCS8qIENvbnNvbGUgSS9PIEJ1ZmZlciBTaXplCSovCisjZGVmaW5lCUNGR19QQlNJWkUgKENGR19DQlNJWkUrc2l6ZW9mKENGR19QUk9NUFQpKzE2KSAvKiBQcmludCBCdWZmZXIgU2l6ZSAqLworI2RlZmluZQlDRkdfTUFYQVJHUwkJMTYJCS8qIG1heCBudW1iZXIgb2YgY29tbWFuZCBhcmdzCSovCisjZGVmaW5lIENGR19CQVJHU0laRQkJQ0ZHX0NCU0laRQkvKiBCb290IEFyZ3VtZW50IEJ1ZmZlciBTaXplCSovCisKKyNkZWZpbmUgQ0ZHX01FTVRFU1RfU1RBUlQJMHgwMDEwMDAwMAkvKiBtZW10ZXN0IHdvcmtzIG9uCSovCisjZGVmaW5lIENGR19NRU1URVNUX0VORAkJMHgwMTAwMDAwMAkvKiAxIC4uLiAxNiBNQiBpbiBEUkFNCSovCisKKyN1bmRlZiAgQ0ZHX0NMS1NfSU5fSFoJCS8qIGV2ZXJ5dGhpbmcsIGluY2wgYm9hcmQgaW5mbywgaW4gSHogKi8KKworI2RlZmluZQlDRkdfTE9BRF9BRERSCQkweDEwMDAwMAkvKiBkZWZhdWx0IGxvYWQgYWRkcmVzcwkqLworCisjZGVmaW5lCUNGR19IWgkJCTEwMjQJCS8qIGluY3JlbWVudGVyIGZyZXE6IDFrSHogKi8KKworCQkJCQkJLyogdmFsaWQgYmF1ZHJhdGVzICovCisjZGVmaW5lIENGR19CQVVEUkFURV9UQUJMRQl7IDk2MDAsIDE5MjAwLCAzODQwMCwgNTc2MDAsIDExNTIwMCB9CisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogUGh5c2ljYWwgTWVtb3J5IE1hcAorICovCisjZGVmaW5lIENPTkZJR19OUl9EUkFNX0JBTktTCTQJICAgLyogd2UgaGF2ZSA0IGJhbmtzIG9mIERSQU0gKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogRkxBU0ggYW5kIGVudmlyb25tZW50IG9yZ2FuaXphdGlvbgorICovCisKKworI2RlZmluZSBDRkdfTUFYX0ZMQVNIX0JBTktTCTEJLyogbWF4IG51bWJlciBvZiBtZW1vcnkgYmFua3MJCSovCisjZGVmaW5lIENGR19NQVhfRkxBU0hfU0VDVAk1MTIJLyogbWF4IG51bWJlciBvZiBzZWN0b3JzIG9uIG9uZSBjaGlwCSovCisKKy8qIHRpbWVvdXQgdmFsdWVzIGFyZSBpbiB0aWNrcyAqLworI2RlZmluZSBDRkdfRkxBU0hfRVJBU0VfVE9VVAkoMipDRkdfSFopIC8qIFRpbWVvdXQgZm9yIEZsYXNoIEVyYXNlICovCisjZGVmaW5lIENGR19GTEFTSF9XUklURV9UT1VUCSgyKkNGR19IWikgLyogVGltZW91dCBmb3IgRmxhc2ggV3JpdGUgKi8KKworCisjZGVmaW5lIENPTkZJR19TUElfRUVQUk9NICAgICAgIC8qIFNQSSBFRVBST01zIHN1Y2ggYXMgQVQyNTAxMCBvciBBVDI1NjQwICovCisjZGVmaW5lIENPTkZJR19NV19FRVBST00gICAgICAgIC8qIE1pY3JvV2lyZSBFRVBST01TIHN1Y2ggYXMgQVQ5M0xDNDYgKi8KKyNkZWZpbmUgQ09ORklHX0RTMTcyMiAgICAgICAgICAgLyogRGFsbGFzIERTMTcyMiBTUEkgVGVtcGVyYXR1cmUgcHJvYmUgKi8KKwkJCQkgCisKKy8qIGFsbG93IHRvIG92ZXJ3cml0ZSBzZXJpYWwgYW5kIGV0aGFkZHIgKi8KKyNkZWZpbmUgQ09ORklHX0VOVl9PVkVSV1JJVEUKKworCisjaWYgMAorLyogRW52aXJvbm1lbnQgaW4gZmxhc2ggKi8KKyNkZWZpbmUgQ0ZHX0VOVl9JU19JTl9GTEFTSCAgICAgMSAKKyMgZGVmaW5lIENGR19FTlZfQUREUgkJKDB4Mzg3YTAwMDApCS8qIEFkZHIgb2YgRW52aXJvbm1lbnQgU2VjdG9yCSovCisjIGRlZmluZSBDRkdfRU5WX1NJWkUJCTB4MjAwMDAJLyogVG90YWwgU2l6ZSBvZiBFbnZpcm9ubWVudCBTZWN0b3IgKG9yIDB4MTAwMDApICovCisjIGRlZmluZSBDRkdfRU5WX09GRlNFVCAgICAgICAgIDAKKworI2Vsc2UKKy8qIEVudmlyb25tZW50IGluIEVFUFJPTSAqLworCisjIGRlZmluZSBDRkdfRU5WX0lTX0lOX0VFUFJPTSAgIDEKKyMgZGVmaW5lIENPTkZJR19TUEkKKyMgZGVmaW5lIENPTkZJR19TUElfWCAxCisjIGRlZmluZSBDRkdfRU5WX1NJWkUJCTB4MjAwMAkvKiBUb3RhbCBTaXplIG9mIEVudmlyb25tZW50IEVFUFJPTQkqLworIyBkZWZpbmUgQ0ZHX0VOVl9PRkZTRVQgICAgICAgICAweDFjMDAgICAgICAKKworI2VuZGlmCisKKyNkZWZpbmUgQ0ZHX0pGRlMyX0ZJUlNUX0JBTksgICAgMCAgICAgICAgICAgLyogdXNlIGZvciBKRkZTMiAqLworI2RlZmluZSBDRkdfSkZGUzJfTlVNX0JBTktTICAgICAxICAgICAgICAgICAvKiAgKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogRGV2aWNlIGRyaXZlcnMKKyAqLworI2RlZmluZSBDT05GSUdfTkVUX01VTFRJICAgICAgICAvKiBNdWx0aSBldGhlcm5ldCBjYXJkcyBzdXBwb3J0ICovCisjZGVmaW5lIENPTkZJR19FRVBSTzEwMAorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBJREUvQVRBIHN0dWZmCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBDRkdfSURFX01BWEJVUwkJMiAgIC8qIG1heC4gMiBJREUgYnVzc2VzCSovCisjZGVmaW5lIENGR19JREVfTUFYREVWSUNFCShDRkdfSURFX01BWEJVUyoyKSAvKiBtYXguIDIgZHJpdmVzIHBlciBJREUgYnVzICovCisjZGVmaW5lIENGR19BVEFfQkFTRV9BRERSICAgICAgIDAKKyNkZWZpbmUgQ0ZHX0FUQV9JREUwX09GRlNFVAkweDAxZjAJLyogaWRlMCBvZmZzZXQgKi8KKyNkZWZpbmUgQ0ZHX0FUQV9JREUxX09GRlNFVAkweGUwMDAJLyogaWRlMSBvZmZzZXQgKi8KKyNkZWZpbmUgQ0ZHX0FUQV9EQVRBX09GRlNFVAkwCS8qIGRhdGEgcmVnIG9mZnNldAkqLworI2RlZmluZSBDRkdfQVRBX1JFR19PRkZTRVQJMAkvKiByZWcgb2Zmc2V0ICovCisjZGVmaW5lIENGR19BVEFfQUxUX09GRlNFVAkweDIwMAkvKiBhbHRlcm5hdGUgcmVnaXN0ZXIgb2Zmc2V0ICovCisKKyNkZWZpbmUgQ0ZHX0ZJU1JUX1BDTUNJQV9CVVMgICAgMQorCisjdW5kZWYJQ09ORklHX0lERV9MRUQJCQkvKiBubyBsZWQgZm9yIGlkZSBzdXBwb3J0ZWQJKi8KKyN1bmRlZiAgQ09ORklHX0lERV9SRVNFVAkJLyogcmVzZXQgZm9yIGlkZSB1bnN1cHBvcnRlZC4uLgkqLworI3VuZGVmICBDT05GSUdfSURFX1JFU0VUX1JPVVRJTkUJLyogbm8gc3BlY2lhbCByZXNldCBmdW5jdGlvbiAqLworCisjZGVmaW5lIENPTkZJR19JREVfVElfQ0FSREJVUworI2RlZmluZSBDRkdfUENNQ0lBX0NJU19XSU4gICAgICAgICAgMHgyN2YwMDAwMAorI2RlZmluZSBDRkdfUENNQ0lBX0NJU19XSU5fU0laRSAgICAgMHgwMDEwMDAwMAorI2RlZmluZSBDRkdfUENNQ0lBX0lPX1dJTiAgICAgICAgICAgMHhlMDAwCisjZGVmaW5lIENGR19QQ01DSUFfSU9fV0lOX1NJWkUgICAgICAxNgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBESVNLIFBhcnRpdGlvbiBzdXBwb3J0CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBDT05GSUdfRE9TX1BBUlRJVElPTgorI2RlZmluZSBDT05GSUdfTUFDX1BBUlRJVElPTgorI2RlZmluZSBDT05GSUdfSVNPX1BBUlRJVElPTiAvKiBFeHBlcmltZW50YWwgKi8KKworCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUlRDCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIENPTkZJR19SVENfTUMxNDY4MTgKKyN1bmRlZiBDT05GSUdfV0FUQ0hET0cJCQkvKiB3YXRjaGRvZyBkaXNhYmxlZAkJKi8KKworLyoKKyAqIFBDSSBzdHVmZgorICovCisjZGVmaW5lIENPTkZJR19QQ0kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGluY2x1ZGUgcGNpIHN1cHBvcnQgKi8KKyNkZWZpbmUgQ09ORklHX1BDSV9QTlAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcGNpIHBsdWctYW5kLXBsYXkgKi8KKyNkZWZpbmUgQ09ORklHX1BDSV9TQ0FOX1NIT1cKKworI2RlZmluZQlDRkdfRklSU1RfUENJX0lSUSAgIDkKKyNkZWZpbmUJQ0ZHX1NFQ09ORF9QQ0lfSVJRICAxMCAKKyNkZWZpbmUgQ0ZHX1RISVJEX1BDSV9JUlEgICAxMSAKKyNkZWZpbmUJQ0ZHX0ZPUlRIX1BDSV9JUlEgICAxMgorCisKKyNlbmRpZgkvKiBfX0NPTkZJR19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2NvbmZpZ3Mvc2M1MjBfc3B1bmtfcmVsLmggYi9pbmNsdWRlL2NvbmZpZ3Mvc2M1MjBfc3B1bmtfcmVsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQ1MzUzMAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvY29uZmlncy9zYzUyMF9zcHVua19yZWwuaApAQCAtMCwwICsxLDMyIEBACisvKgorICogKEMpIENvcHlyaWdodCAyMDAyCisgKiBEYW5pZWwgRW5nc3Ry9m0sIE9taWNyb24gQ2V0aSBBQiwgZGFuaWVsQG9taWNyb24uc2UuCisgKgorICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKKyAqIHByb2plY3QuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCisgKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCSBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwKKyAqIE1BIDAyMTExLTEzMDcgVVNBCisgKi8KKworI2lmbmRlZiBfb3V0ZXJfY29uZmlnCisjZGVmaW5lIF9vdXRlcl9jb25maWcKKworI2luY2x1ZGUgInNjNTIwX3NwdW5rLmgiCisKKyN1bmRlZiBDT05GSUdfQk9PVENPTU1BTkQKKyNkZWZpbmUgQ09ORklHX0JPT1RDT01NQU5ECSJmc2xvYWQgYm9vdC92bWxpbnV6IDsgYm9vdG0iIAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvY29uZmlncy91dHg4MjQ1LmggYi9pbmNsdWRlL2NvbmZpZ3MvdXR4ODI0NS5oCmluZGV4IDVhZWM0N2EuLjgwY2ZlOGEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvY29uZmlncy91dHg4MjQ1LmgKKysrIGIvaW5jbHVkZS9jb25maWdzL3V0eDgyNDUuaApAQCAtNTEsMTYgKzUxLDM5IEBACiAjZGVmaW5lIENPTkZJR19VVFg4MjQ1CQkxCiAjZGVmaW5lIERFQlVHCQkJCTEKIAorI2RlZmluZSBDT05GSUdfSURFTlRfU1RSSU5HICAgICAiIFtVVFg1XSAiCisKICNkZWZpbmUgQ09ORklHX0NPTlNfSU5ERVgJMQogI2RlZmluZSBDT05GSUdfQkFVRFJBVEUJCTU3NjAwCiAjZGVmaW5lIENGR19CQVVEUkFURV9UQUJMRQl7IDk2MDAsIDE5MjAwLCAzODQwMCwgNTc2MDAsIDExNTIwMCB9CiAKLSNkZWZpbmUgQ09ORklHX0JPT1RERUxBWQk1CisjZGVmaW5lIENPTkZJR19CT09UREVMQVkJMgogI2RlZmluZSBDT05GSUdfQVVUT0JPT1RfUFJPTVBUIAkiYXV0b2Jvb3QgaW4gJWQgc2Vjb25kc1xuIgotI2RlZmluZSBDT05GSUdfQk9PVENPTU1BTkQJImJvb3RtIEZGOTIwMDAwIEZGODAwMDAwIgkvKiBhdXRvYm9vdCBjb21tYW5kCSovCisjZGVmaW5lIENPTkZJR19CT09UQ09NTUFORAkicnVuIG5mc2Jvb3QiCS8qIGF1dG9ib290IGNvbW1hbmQJKi8KICNkZWZpbmUgQ09ORklHX0JPT1RBUkdTCQkicm9vdD0vZGV2L3JhbSBjb25zb2xlPXR0eVMwLDU3NjAwIiAvKiBSQU1kaXNrICovCi0jZGVmaW5lIENPTkZJR19FVEhBRERSCQk0MTo1Mjo0Yzo2MTowMDowMQkvKiBNQUMgYWRkcmVzcyAqLwotI2RlZmluZSBDT05GSUdfU0VSVkVSSVAJCTEwLjguMTcuMTA1CisjZGVmaW5lIENPTkZJR19FVEhBRERSCQkwMDpBQTowMDoxNDowMDowNQkvKiBVVFg1ICovCisjZGVmaW5lIENPTkZJR19TRVJWRVJJUAkJMTAuOC4xNy4xMDUJLyogU3ByZWUgKi8KKyNkZWZpbmUgQ0ZHX1RGVFBfTE9BREFERFIJMTAwMDAKKworI2RlZmluZSBDT05GSUdfRVhUUkFfRU5WX1NFVFRJTkdTIFwKKwkia2VybmVsX2FkZHI9RkZBMDAwMDBcMCIgXAorCSJyYW1kaXNrX2FkZHI9RkY4MDAwMDBcMCIgXAorCSJ1LWJvb3Rfc3RhcnRhZGRyPUZGQjAwMDAwXDAiIFwKKwkidS1ib290X2VuZGFkZHI9RkZCMkZGRkZcMCIgXAorCSJuZnNhcmdzPXNldGVudiBib290YXJncyBjb25zb2xlPXR0eVMwLCQoYmF1ZHJhdGUpIHJvb3Q9L2Rldi9uZnMgcncgXAorbmZzcm9vdD0kKG5mc3Jvb3RpcCk6JChyb290cGF0aCkgaXA9ZGhjcFwwIiBcCisJInJhbWFyZ3M9c2V0ZW52IGJvb3RhcmdzIGNvbnNvbGU9dHR5UzAsJChiYXVkcmF0ZSkgcm9vdD0vZGV2L3JhbTBcMCIgXAorCSJzbWFyZ3M9c2V0ZW52IGJvb3RhcmdzIGNvbnNvbGU9dHR5UzAsJChiYXVkcmF0ZSkgcm9vdD0vZGV2L210ZGJsb2NrMSByb1wwIiBcCisJImZ3YXJncz1zZXRlbnYgYm9vdGFyZ3MgY29uc29sZT10dHlTMCwkKGJhdWRyYXRlKSByb290PS9kZXYvc2RhMiByb1wwIiBcCisJIm5mc2Jvb3Q9cnVuIG5mc2FyZ3M7Ym9vdG0gJChrZXJuZWxfYWRkcilcMCIgXAorCSJyYW1ib290PXJ1biByYW1hcmdzO2Jvb3RtICQoa2VybmVsX2FkZHIpICQocmFtZGlza19hZGRyKVwwIiBcCisJInNtYm9vdD1ydW4gc21hcmdzO2Jvb3RtICQoa2VybmVsX2FkZHIpICQocmFtZGlza19hZGRyKVwwIiBcCisJImZ3Ym9vdD1ydW4gZndhcmdzO2Jvb3RtICQoa2VybmVsX2FkZHIpICQocmFtZGlza19hZGRyKVwwIiBcCisJInVwZGF0ZV91LWJvb3Q9dGZ0cCAkKGxvYWRhZGRyKSAvYmRpMjAwMC91LWJvb3QuYmluO3Byb3RlY3Qgb2ZmIFwKKyQodS1ib290X3N0YXJ0YWRkcikgJCh1LWJvb3RfZW5kYWRkcik7ZXJhICQodS1ib290X3N0YXJ0YWRkcikgXAorJCh1LWJvb3RfZW5kYWRkcik7Y3AuYiAkKGxvYWRhZGRyKSAkKHUtYm9vdF9zdGFydGFkZHIpICQoZmlsZXNpemUpO1wKK3Byb3RlY3Qgb24gJCh1LWJvb3Rfc3RhcnRhZGRyKSAkKHUtYm9vdF9lbmRhZGRyKSIKKwogI2RlZmluZSBDT05GSUdfRU5WX09WRVJXUklURQogCiAjZGVmaW5lIENPTkZJR19DT01NQU5EUwkJKENGR19DTURfREZMIHwgQ0ZHX0NNRF9CREkgfCBDRkdfQ01EX1BDSSBcCkBAIC03MCw3ICs5Myw4IEBACiAJCQkJCQkJCXwgQ0ZHX0NNRF9JTUkgfCBDRkdfQ01EX0NBQ0hFIFwKIAkJCQkJCQkJfCBDRkdfQ01EX1JVTiB8IENGR19DTURfRUNITyBcCiAJCQkJCQkJCXwgQ0ZHX0NNRF9SRUdJTkZPIHwgQ0ZHX0NNRF9ORVRcCi0JCQkJCQkJCXwgQ0ZHX0NNRF9ESENQKQorCQkJCQkJCQl8IENGR19DTURfREhDUCB8IENGR19DTURfSTJDIFwKKwkJCQkJCQkJfCBDRkdfQ01EX0RBVEUpCiAKIC8qIFRoaXMgbXVzdCBiZSBpbmNsdWRlZCBBRlRFUiB0aGUgZGVmaW5pdGlvbiBvZiBDT05GSUdfQ09NTUFORFMgKGlmIGFueSkKICAqLwpAQCAtODAsOSArMTA0LDkgQEAKIC8qCiAgKiBNaXNjZWxsYW5lb3VzIGNvbmZpZ3VyYWJsZSBvcHRpb25zCiAgKi8KLSNkZWZpbmUgQ0ZHX0xPTkdIRUxQCQkJLyogdW5kZWYgdG8gc2F2ZSBtZW1vcnkJCSovCi0jZGVmaW5lIENGR19QUk9NUFQJIj0+ICIJCS8qIE1vbml0b3IgQ29tbWFuZCBQcm9tcHQJKi8KLSNkZWZpbmUgQ0ZHX0NCU0laRQkyNTYJCS8qIENvbnNvbGUgSS9PIEJ1ZmZlciBTaXplCSovCisjZGVmaW5lIENGR19MT05HSEVMUAkJCQkvKiB1bmRlZiB0byBzYXZlIG1lbW9yeQkJKi8KKyNkZWZpbmUgQ0ZHX1BST01QVAkiPT4gIgkJCS8qIE1vbml0b3IgQ29tbWFuZCBQcm9tcHQJKi8KKyNkZWZpbmUgQ0ZHX0NCU0laRQkyNTYJCQkJLyogQ29uc29sZSBJL08gQnVmZmVyIFNpemUJKi8KIAogLyogUHJpbnQgQnVmZmVyIFNpemUgKi8KICNkZWZpbmUgQ0ZHX1BCU0laRQkoQ0ZHX0NCU0laRSArIHNpemVvZihDRkdfUFJPTVBUKSArIDE2KQpAQCAtMTAxLDEyICsxMjUsMjAgQEAKICNkZWZpbmUgQ09ORklHX1BDSV9TQ0FOX1NIT1cKICNkZWZpbmUgQ09ORklHX05FVF9NVUxUSQogI2RlZmluZSBDT05GSUdfRUVQUk8xMDAKKyNkZWZpbmUgQ09ORklHX0VFUFJPMTAwX1NST01fV1JJVEUKIAotI2RlZmluZSBQQ0lfRU5FVDBfSU9BRERSCTB4ODAwMDAwMDAKKyNkZWZpbmUgUENJX0VORVQwX0lPQUREUgkweEYwMDAwMDAwCisjZGVmaW5lIFBDSV9FTkVUMF9NRU1BRERSCTB4RjAwMDAwMDAKKworI2RlZmluZSBQQ0lfRklSRVdJUkVfSU9BRERSCQkweEYxMDAwMDAwCisjZGVmaW5lIFBDSV9GSVJFV0lSRV9NRU1BRERSCTB4RjEwMDAwMDAKKy8qCisjZGVmaW5lIFBDSV9FTkVUMF9JT0FERFIJMHhGRTAwMDAwMAogI2RlZmluZSBQQ0lfRU5FVDBfTUVNQUREUgkweDgwMDAwMDAwCisKICNkZWZpbmUgUENJX0ZJUkVXSVJFX0lPQUREUgkweDgxMDAwMDAwCiAjZGVmaW5lIFBDSV9GSVJFV0lSRV9NRU1BRERSCTB4ODEwMDAwMDAKLQorKi8KIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICogU3RhcnQgYWRkcmVzc2VzIGZvciB0aGUgZmluYWwgbWVtb3J5IGNvbmZpZ3VyYXRpb24KQEAgLTExNCwxMiArMTQ2LDEzIEBACiAgKiBQbGVhc2Ugbm90ZSB0aGF0IENGR19TRFJBTV9CQVNFIF9tdXN0XyBzdGFydCBhdCAwCiAgKi8KICNkZWZpbmUgQ0ZHX1NEUkFNX0JBU0UJICAgIDB4MDAwMDAwMDAKLSNkZWZpbmUgQ0ZHX01BWF9SQU1fU0laRSAgICAweDEwMDAwMDAwCS8qIGFtb3VudCBvZiBTRFJBTSAgKi8KKyNkZWZpbmUgQ0ZHX01BWF9SQU1fU0laRSAgICAweDEwMDAwMDAwCS8qIDI1Nk1CICAqLworLyojZGVmaW5lIENGR19WRVJZX0JJR19SQU0JMSAqLwogCi0KLS8qIGV2ZW4gdGhvdWdoIEZMQVNIUF9CQVNFIGlzIEZGODAwMDAwLCB3aXRoIDJNQiBvbiBSQ1MwLCB0aGUKLSAqIHJlc2V0IHZlY3RvciBpcyBhY3R1YWxseSBsb2NhdGVkIGF0IEZGODAwMTAwLCBidXQgdGhlIDgyNDUKLSAqIHRha2VzIGNhcmUgb2YgdXMuCisvKiBGTEFTSF9CQVNFIGlzIEZGODAwMDAwLCB3aXRoIDRNQiBvbiBSQ1MwLCBidXQgdGhlIHJlc2V0IHZlY3RvcgorICogaXMgYWN0dWFsbHkgbG9jYXRlZCBhdCBGRkYwMDEwMC4gIFRoZXJlZm9yZSwgVS1Cb290IGlzCisgKiBwaHlzaWNhbGx5IGxvY2F0ZWQgYXQgMHhGRkIwXzAwMDAsIGJ1dCBpcyBhbHNvIG1pcnJvcmVkIGF0CisgKiAweEZGRjBfMDAwMC4KICAqLwogI2RlZmluZSBDRkdfUkVTRVRfQUREUkVTUyAgIDB4RkZGMDAxMDAKIApAQCAtMTMyLDE3ICsxNjUsMTkgQEAKIAogLyojZGVmaW5lIENGR19EUkFNX1RFU1QJCTEgKi8KICNkZWZpbmUgQ0ZHX01FTVRFU1RfU1RBUlQgICAweDAwMDAzMDAwCS8qIG1lbXRlc3Qgd29ya3Mgb24JMC4uLjI1NiBNQgkqLwotI2RlZmluZSBDRkdfTUVNVEVTVF9FTkQJICAgIDB4MGZmOGZmYTgJLyogaW4gU0RSQU0sIHNraXBzIGV4Y2VwdGlvbiAqLworI2RlZmluZSBDRkdfTUVNVEVTVF9FTkQJICAgIDB4MGZmOGZmYTcJLyogaW4gU0RSQU0sIHNraXBzIGV4Y2VwdGlvbiAqLwogCQkJCQkJCQkJCS8qIHZlY3RvcnMgYW5kIFUtQm9vdCAqLwogCiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqIERlZmluaXRpb25zIGZvciBpbml0aWFsIHN0YWNrIHBvaW50ZXIgYW5kIGRhdGEgYXJlYQogICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotI2RlZmluZSBDRkdfR0JMX0RBVEFfU0laRSAgICAxMjgJLyogU2l6ZSBpbiBieXRlcyByZXNlcnZlZCBmb3IgKi8KKyNkZWZpbmUgQ0ZHX0lOSVRfREFUQV9TSVpFICAgIDEyOAkvKiBTaXplIGluIGJ5dGVzIHJlc2VydmVkIGZvciAqLwogCQkJCQkJCQkJLyogaW5pdGlhbCBkYXRhICovCiAjZGVmaW5lIENGR19JTklUX1JBTV9BRERSICAgICAweDQwMDAwMDAwCiAjZGVmaW5lIENGR19JTklUX1JBTV9FTkQgICAgICAweDEwMDAKKyNkZWZpbmUgQ0ZHX0lOSVRfREFUQV9PRkZTRVQgIChDRkdfSU5JVF9SQU1fRU5EIC0gQ0ZHX0lOSVRfREFUQV9TSVpFKQorI2RlZmluZSBDRkdfR0JMX0RBVEFfU0laRQkxMjgKICNkZWZpbmUgQ0ZHX0dCTF9EQVRBX09GRlNFVCAgKENGR19JTklUX1JBTV9FTkQgLSBDRkdfR0JMX0RBVEFfU0laRSkKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMTUzLDEwICsxODgsMTYgQEAKIAogI2RlZmluZSBDRkdfTlMxNjU1MF9SRUdfU0laRQkxCiAKLSNkZWZpbmUgQ0ZHX05TMTY1NTBfQ0xLCQlnZXRfYnVzX2ZyZXEoMCkKKyNpZiAoQ09ORklHX0NPTlNfSU5ERVggPT0gMSB8fCBDT05GSUdfQ09OU19JTkRFWCA9PSAyKQorIwlkZWZpbmUgQ0ZHX05TMTY1NTBfQ0xLCQlnZXRfYnVzX2ZyZXEoMCkKKyNlbHNlCisjCWRlZmluZSBDRkdfTlMxNjU1MF9DTEsgMzMwMDAwMDAKKyNlbmRpZgogCiAjZGVmaW5lIENGR19OUzE2NTUwX0NPTTEJKENGR19FVU1CX0FERFIgKyAweDQ1MDApCiAjZGVmaW5lIENGR19OUzE2NTUwX0NPTTIJKENGR19FVU1CX0FERFIgKyAweDQ2MDApCisjZGVmaW5lIENGR19OUzE2NTUwX0NPTTMJMHhGRjAwMDAwMAorI2RlZmluZSBDRkdfTlMxNjU1MF9DT000CTB4RkYwMDAwMDgKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICogTG93IExldmVsIENvbmZpZ3VyYXRpb24gU2V0dGluZ3MKQEAgLTE2OCw0NiArMjA5LDYxIEBACiAjZGVmaW5lIENPTkZJR19TWVNfQ0xLX0ZSRVEgIDMzMDAwMDAwCiAjZGVmaW5lIENGR19IWgkJCQkxMDAwCiAKLSNkZWZpbmUgQ0ZHX0VUSF9ERVZfRk4JICAgICAweDc4MDAKLSNkZWZpbmUgQ0ZHX0VUSF9JT0JBU0UJICAgICAweDAwMTA0MDAwCisvKiNkZWZpbmUgQ0ZHX0VUSF9ERVZfRk4JICAgICAweDc4MDAgKi8KKy8qI2RlZmluZSBDRkdfRVRIX0lPQkFTRQkgICAgIDB4MDAxMDQwMDAgKi8KIAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogSTJDIENvbmZpZ3VyYXRpb24KKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNpZiAxCisjZGVmaW5lIENPTkZJR19IQVJEX0kyQwkJMQkJLyogVG8gZW5hYmxlIEkyQyBzdXBwb3J0CSovCisjdW5kZWYgIENPTkZJR19TT0ZUX0kyQwkJCQkvKiBJMkMgYml0LWJhbmdlZAkJKi8KKyNkZWZpbmUgQ0ZHX0kyQ19TUEVFRAkJNDAwMDAwCQkvKiBJMkMgc3BlZWQgYW5kIHNsYXZlIGFkZHJlc3MJKi8KKyNkZWZpbmUgQ0ZHX0kyQ19TTEFWRQkJMHg3RgorI2VuZGlmCisKKyNkZWZpbmUgQ09ORklHX1JUQ19QQ0Y4NTYzCTEJCS8qIGVuYWJsZSBJMkMgc3VwcG9ydCBmb3IgKi8KKwkJCQkJCQkJCS8qIFBoaWxpcHMgUENGODU2MyBSVEMgKi8KKyNkZWZpbmUgQ0ZHX0kyQ19SVENfQUREUgkweDUxCS8qIFBoaWxpcHMgUENGODU2MyBSVEMgYWRkcmVzcyAqLwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKglNZW1vcnkgQ29udHJvbCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyIHZhbHVlcwogICoJLSBzZWUgc2VjLiA0LjEyIG9mIE1QQzgyNDUgVU0KICAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAotLyogTUNDUjEgKi8KKy8qKioqIE1DQ1IxICoqKiovCiAjZGVmaW5lIENGR19ST01OQUwJICAgIDAKLSNkZWZpbmUgQ0ZHX1JPTUZBTAkgICAgMgkJCS8qICh0YWNjPTcwbnMpKm1lbV9mcmVxIC0gMiAqLwotI2RlZmluZSBDRkdfQkFOSzBfUk9XCTIJCQkvKiBTRFJBTSBiYW5rIDctMCByb3cgYWRkcmVzcyAqLwotI2RlZmluZSBDRkdfQkFOSzFfUk9XCTIJCQkvKiAJYml0IGNvdW50ICovCi0jZGVmaW5lIENGR19CQU5LMl9ST1cJMAotI2RlZmluZSBDRkdfQkFOSzNfUk9XCTAKLSNkZWZpbmUgQ0ZHX0JBTks0X1JPVwkwCi0jZGVmaW5lIENGR19CQU5LNV9ST1cJMAotI2RlZmluZSBDRkdfQkFOSzZfUk9XCTAKLSNkZWZpbmUgQ0ZHX0JBTks3X1JPVwkwCisjZGVmaW5lIENGR19ST01GQUwJICAgIDEwCQkvKiAodGFjYz03MG5zKSptZW1fZnJlcSAtIDIsCisJCQkJCQkJCQltZW1fZnJlcSA9IDEwME1IeiAqLwogCi0vKiBNQ0NSMiwgcmVmcmVzaCBpbnRlcnZhbCBjbG9jayBjeWNsZXMgKi8KKyNkZWZpbmUgQ0ZHX0JBTks3X1JPVwkwCQkvKiBTRFJBTSBiYW5rIDctMCByb3cgYWRkcmVzcyAqLworI2RlZmluZSBDRkdfQkFOSzZfUk9XCTAJCS8qIAliaXQgY291bnQgKi8KKyNkZWZpbmUgQ0ZHX0JBTks1X1JPVwkwCisjZGVmaW5lIENGR19CQU5LNF9ST1cJMAorI2RlZmluZSBDRkdfQkFOSzNfUk9XCTAKKyNkZWZpbmUgQ0ZHX0JBTksyX1JPVwkwCisjZGVmaW5lIENGR19CQU5LMV9ST1cJMgorI2RlZmluZSBDRkdfQkFOSzBfUk9XCTIKKworLyoqKiogTUNDUjIsIHJlZnJlc2ggaW50ZXJ2YWwgY2xvY2sgY3ljbGVzICoqKiovCiAjZGVmaW5lIENGR19SRUZJTlQJICAgIDQ4MAkgICAgLyogMzMgTUh6IFNEUkFNIGNsb2NrIHdhcyA0ODAgKi8KIAotLyogQnVyc3QgVG8gUHJlY2hhcmdlLiBCaXRzIG9mIHRoaXMgdmFsdWUgZ28gdG8gTUNDUjMgYW5kIE1DQ1I0ICovCisvKiBCdXJzdCBUbyBQcmVjaGFyZ2UuIEJpdHMgb2YgdGhpcyB2YWx1ZSBnbyB0byBNQ0NSMyBhbmQgTUNDUjQuICovCiAjZGVmaW5lIENGR19CU1RPUFJFCSAgICAxMDIzCS8qIGJ1cnN0IHRvIHByZWNoYXJnZVswLi45XSwgKi8KIAkJCQkJCQkJLyogc2V0cyBvcGVuIHBhZ2UgaW50ZXJ2YWwgKi8KIAotLyogTUNDUjMgKi8KLSNkZWZpbmUgQ0ZHX1JFRlJFQwkgICAgNQkgICAgLyogUmVmcmVzaCB0byBhY3RpdmF0ZSBpbnRlcnZhbCwgdHJjICovCisvKioqKiBNQ0NSMyAqKioqLworI2RlZmluZSBDRkdfUkVGUkVDCSAgICA3CSAgICAvKiBSZWZyZXNoIHRvIGFjdGl2YXRlIGludGVydmFsLCB0cmMgKi8KIAotLyogTUNDUjQgKi8KKy8qKioqIE1DQ1I0ICoqKiovCiAjZGVmaW5lIENGR19QUkVUT0FDVAkgICAgMgkgICAgLyogdHJwICovCi0jZGVmaW5lIENGR19BQ1RUT1BSRQkgICAgNwkgICAgLyogdHJjZCArIChidXJzdCBsZW5ndGggLSAxKSArIHRkcmwgKi8KKyNkZWZpbmUgQ0ZHX0FDVFRPUFJFCSAgICA3CSAgICAvKiB0cmNkICsgKGJ1cnN0IGxlbmd0aCAtIDEpICsgdHJkbCAqLwogI2RlZmluZSBDRkdfU0RNT0RFX0NBU19MQVQgIDMJICAgIC8qIFNETU9ERSBDQVMgbGF0YW5jeSAqLwogI2RlZmluZSBDRkdfU0RNT0RFX1dSQVAJICAgIDAJICAgIC8qIFNETU9ERSB3cmFwIHR5cGUsIHNlcXVlbnRpYWwgKi8KICNkZWZpbmUgQ0ZHX0FDVE9SVwkgICAgCTIJCS8qIHRyY2QgbWluICovCiAjZGVmaW5lIENGR19EQlVTX1NJWkUyCQkxCQkvKiBzZXQgZm9yIDgtYml0IFJDUzEsIGNsZWFyIGZvciAzMiw2NCAqLwogI2RlZmluZSBDRkdfUkVHSVNURVJEX1RZUEVfQlVGRkVSIDEKLSNkZWZpbmUgQ0ZHX0VYVFJPTQkgICAgMQorI2RlZmluZSBDRkdfRVhUUk9NCSAgICAwCQkJLyogd2UgZG9uJ3QgbmVlZCBleHRlbmRlZCBST00gc3BhY2UgKi8KICNkZWZpbmUgQ0ZHX1JFR0RJTU0JICAgIDAKIAogLyogY2FsY3VsYXRlIGFjY29yZGluZyB0byBmb3JtdWxhIGluIHNlYy4gNi0yMiBvZiA4MjQ1IFVNICovCkBAIC0yMTYsMTAgKzI3MiwxOCBAQAogCQkJCQkJCQkJLyogd2FzIDQ1ICovCiAKICNkZWZpbmUgQ0ZHX1NEUkFNX0RTQ0QJMHgyMAkvKiBTRFJBTSBkYXRhIGluIHNhbXBsZSBjbG9jayBkZWxheSAtIG5vdGUgKi8KLQkJCQkJCQkJLyogYm90dG9tIDMgYml0cyBNVVNUIGJlIDAgKi8KKwkJCQkJCQkJLyogYml0cyA3LDYsIGFuZCAzLTAgTVVTVCBiZSAwICovCiAKKyNpZiAwCiAjZGVmaW5lIENGR19ETExfTUFYX0RFTEFZCTB4MDQKKyNlbHNlCisjZGVmaW5lIENGR19ETExfTUFYX0RFTEFZCTAKKyNlbmRpZgorI2lmIDAJCQkJCQkJLyogbmVlZCBmb3IgMzNNSHogU0RSQU0gKi8KICNkZWZpbmUgQ0ZHX0RMTF9FWFRFTkQJMHg4MAorI2Vsc2UKKyNkZWZpbmUgQ0ZHX0RMTF9FWFRFTkQJMAorI2VuZGlmCiAjZGVmaW5lIENGR19QQ0lfSE9MRF9ERUwgMHgyMAogCiAKQEAgLTI1NSwyOSArMzE5LDM0IEBACiAjZGVmaW5lIENGR19CQU5LN19FTkQJICAgIDB4M2ZmZmZmZmYKICNkZWZpbmUgQ0ZHX0JBTks3X0VOQUJMRSAgICAwCiAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAqIDQuNCAtIE91dHB1dCBEcml2ZXIgQ29udHJvbCBSZWdpc3RlcgotICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiA0LjQgLSBPdXRwdXQgRHJpdmVyIENvbnRyb2wgUmVnaXN0ZXIgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogI2RlZmluZSBDRkdfT0RDUgkgICAgMHhlNQogCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gKiA0LjggLSBFcnJvciBIYW5kbGluZyBSZWdpc3RlcnMKLSAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyogNC44IC0gRXJyb3IgSGFuZGxpbmcgUmVnaXN0ZXJzICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1DRkdfU0RNT0RFX0JVUlNUTEVOLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAjZGVmaW5lIENGR19FUlJFTlIxCTB4MTEJLyogZW5hYmxlIFNEUkFNIHJlZnJlc2ggb3ZlcmZsb3cgZXJyb3IgKi8KIAogLyogU0RSQU0gMC0yNTYgTUIgKi8KICNkZWZpbmUgQ0ZHX0lCQVQwTCAgKENGR19TRFJBTV9CQVNFIHwgQkFUTF9QUF8xMCB8IEJBVExfTUVNQ09IRVJFTkNFKQorLyojZGVmaW5lIENGR19JQkFUMEwgIChDRkdfU0RSQU1fQkFTRSB8IEJBVExfUFBfMTAgfCBCQVRMX0NBQ0hFSU5ISUJJVCkgKi8KICNkZWZpbmUgQ0ZHX0lCQVQwVSAgKENGR19TRFJBTV9CQVNFIHwgQkFUVV9CTF8yNTZNIHwgQkFUVV9WUyB8IEJBVFVfVlApCiAKIC8qIHN0YWNrIGluIGRjYWNoZSAqLwogI2RlZmluZSBDRkdfSUJBVDFMICAoQ0ZHX0lOSVRfUkFNX0FERFIgfCBCQVRMX1BQXzEwIHwgQkFUTF9NRU1DT0hFUkVOQ0UpCiAjZGVmaW5lIENGR19JQkFUMVUgIChDRkdfSU5JVF9SQU1fQUREUiB8IEJBVFVfQkxfMTI4SyB8IEJBVFVfVlMgfCBCQVRVX1ZQKQogCi0vKiBQQ0kgbWVtb3J5ICovCi0jZGVmaW5lIENGR19JQkFUMkwgICgweDgwMDAwMDAwIHwgQkFUTF9QUF8xMCB8IEJBVExfQ0FDSEVJTkhJQklUKQotI2RlZmluZSBDRkdfSUJBVDJVICAoMHg4MDAwMDAwMCB8IEJBVFVfQkxfMjU2TSB8IEJBVFVfVlMgfCBCQVRVX1ZQKQogCi0vKiBGbGFzaCwgY29uZmlnIGFkZHJzLCBldGMuICovCisjZGVmaW5lIENGR19JQkFUMkwgIChDRkdfU0RSQU1fQkFTRSArIDB4MTAwMDAwMDAgfCBCQVRMX1BQXzEwIHwgQkFUTF9NRU1DT0hFUkVOQ0UpCisjZGVmaW5lIENGR19JQkFUMlUgIChDRkdfU0RSQU1fQkFTRSArIDB4MTAwMDAwMDB8IEJBVFVfQkxfMjU2TSB8IEJBVFVfVlMgfCBCQVRVX1ZQKQorCisvKiBQQ0kgbWVtb3J5ICovCisvKiNkZWZpbmUgQ0ZHX0lCQVQyTCAgKDB4ODAwMDAwMDAgfCBCQVRMX1BQXzEwIHwgQkFUTF9DQUNIRUlOSElCSVQpICovCisvKiNkZWZpbmUgQ0ZHX0lCQVQyVSAgKDB4ODAwMDAwMDAgfCBCQVRVX0JMXzI1Nk0gfCBCQVRVX1ZTIHwgQkFUVV9WUCkgKi8KKworLypGbGFzaCwgY29uZmlnIGFkZHJzLCBldGMuICovCiAjZGVmaW5lIENGR19JQkFUM0wgICgweEYwMDAwMDAwIHwgQkFUTF9QUF8xMCB8IEJBVExfQ0FDSEVJTkhJQklUKQogI2RlZmluZSBDRkdfSUJBVDNVICAoMHhGMDAwMDAwMCB8IEJBVFVfQkxfMjU2TSB8IEJBVFVfVlMgfCBCQVRVX1ZQKQogCkBAIC0yOTgsMjcgKzM2NywzMSBAQAogI2RlZmluZSBDRkdfQk9PVE1BUFNaCSAgICAoOCA8PCAyMCkJLyogSW5pdGlhbCBNZW1vcnkgbWFwIGZvciBMaW51eCAqLwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gKiBGTEFTSCBvcmdhbml6YXRpb24gKEFNRCBBTTI5TFYxMTZEKQotICovCisgKiBGTEFTSCBvcmdhbml6YXRpb24KKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAjZGVmaW5lIENGR19GTEFTSF9CQVNFCSAgICAweEZGODAwMDAwCisjZGVmaW5lIENGR19NQVhfRkxBU0hfQkFOS1MJMQkJCS8qIE1heCBudW1iZXIgb2YgZmxhc2ggYmFua3MgKi8KIAotI2RlZmluZSBDRkdfTUFYX0ZMQVNIX0JBTktTCTEJLyogTWF4IG51bWJlciBvZiBmbGFzaCBiYW5rcyAqLworLyoJTk9URTogZW52aXJvbm1lbnQgaXMgbm90IEVNQkVEREVEIGluIHRoZSB1LWJvb3QgY29kZS4KKwlJdCdzIHN0b3JlZCBpbiBmbGFzaCBpbiBpdHMgb3duIHNlcGFyYXRlIHNlY3Rvci4gICovCisjZGVmaW5lIENGR19FTlZfSVNfSU5fRkxBU0gJICAgIDEKKworI2lmIDEJLyogQU1EIEFNMjlMVjAzM0MgKi8KKyNkZWZpbmUgQ0ZHX01BWF9GTEFTSF9TRUNUCTY0CQkvKiBNYXggbnVtYmVyIG9mIHNlY3RvcnMgaW4gb25lIGJhbmsgKi8KKyNkZWZpbmUgQ0ZHX0VOVl9BRERSCQkweEZGQkYwMDAwCS8qIGZsYXNoIHNlY3RvciBTQTYzICovCisjZGVmaW5lIENGR19FTlZfU0VDVF9TSVpFCSg2NCoxMDI0KQkvKiBTaXplIG9mIHRoZSBFbnZpcm9ubWVudCBTZWN0b3IgKi8KKyNlbHNlCS8qIEFNRCBBTTI5TFYxMTZEICovCiAjZGVmaW5lIENGR19NQVhfRkxBU0hfU0VDVAkzNQkvKiBNYXggbnVtYmVyIG9mIHNlY3RvcnMgaW4gb25lIGJhbmsgKi8KKyNkZWZpbmUgQ0ZHX0VOVl9BRERSCQkweEZGOUZBMDAwCS8qIGZsYXNoIHNlY3RvciBTQTMzICovCisjZGVmaW5lIENGR19FTlZfU0VDVF9TSVpFCSg4KjEwMjQpCS8qIFNpemUgb2YgdGhlIEVudmlyb25tZW50IFNlY3RvciAqLworI2VuZGlmIC8qICNpZiAqLworCisjZGVmaW5lIENGR19FTlZfU0laRQkJQ0ZHX0VOVl9TRUNUX1NJWkUJCS8qIFNpemUgb2YgdGhlIEVudmlyb25tZW50ICovCisjZGVmaW5lIENGR19FTlZfT0ZGU0VUCQkwCQkJLyogc3RhcnRpbmcgcmlnaHQgYXQgdGhlIGJlZ2lubmluZyAqLwogCiAjZGVmaW5lIENGR19GTEFTSF9FUkFTRV9UT1VUCTEyMDAwMAkvKiBUaW1lb3V0IGZvciBGbGFzaCBFcmFzZSAoaW4gbXMpCSovCiAjZGVmaW5lIENGR19GTEFTSF9XUklURV9UT1VUCTUwMAkJLyogVGltZW91dCBmb3IgRmxhc2ggV3JpdGUgKGluIG1zKQkqLwogCi0JLyogV2FybmluZzogZW52aXJvbm1lbnQgaXMgbm90IEVNQkVEREVEIGluIHRoZSBVLUJvb3QgY29kZS4KLQkgKiBJdCdzIHN0b3JlZCBpbiBmbGFzaCBzZXBhcmF0ZWx5LgotCSAqLwotI2RlZmluZSBDRkdfRU5WX0lTX0lOX0ZMQVNICSAgICAxCi0KLSNkZWZpbmUgQ0ZHX0VOVl9BRERSCQkweEZGOUZBMDAwCS8qIGZsYXNoIHNlY3RvciBTQTMzICovCi0jZGVmaW5lIENGR19FTlZfU0laRQkJMHgyMDAwCQkvKiBTaXplIG9mIHRoZSBFbnZpcm9ubWVudCAqLwotI2RlZmluZSBDRkdfRU5WX09GRlNFVAkJMAkJCS8qIHN0YXJ0aW5nIHJpZ2h0IGF0IHRoZSBiZWdpbm5pbmcgKi8KLSNkZWZpbmUgQ0ZHX0VOVl9TRUNUX1NJWkUJMHgyMDAwIAkJLyogU2l6ZSBvZiB0aGUgRW52aXJvbm1lbnQgU2VjdG9yICovCi0KLQogI2lmIENGR19NT05JVE9SX0JBU0UgPj0gQ0ZHX0ZMQVNIX0JBU0UKICN1bmRlZiBDRkdfUkFNQk9PVAogI2Vsc2UKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZmxhc2guaCBiL2luY2x1ZGUvZmxhc2guaAppbmRleCAyNjkzYTM1Li42NDEwZjJmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2ZsYXNoLmgKKysrIGIvaW5jbHVkZS9mbGFzaC5oCkBAIC0xMzQsNiArMTM0LDcgQEAKICNkZWZpbmUgQU1EX0lEX0YwMTZECTB4QUQJCS8qIDI5RjAxNiAgSUQgICggMiBNIHggOCkJCSovCiAjZGVmaW5lIEFNRF9JRF9GMDMyQgkweDQxCQkvKiAyOUYwMzIgIElEICAoIDQgTSB4IDgpCQkqLwogI2RlZmluZSBBTURfSURfTFYxMTZEVAkweEM3CQkvKiAyOUxWMTE2RFQgICAoIDIgTSB4IDgsIHRvcCBib290IHNlY3QpICovCisjZGVmaW5lIEFNRF9JRF9MVjAxNkIJMHhjOAkJLyogMjlMVjAxNiBJRCAgKCAyIE0geCA4KQkJKi8KIAogI2RlZmluZSBBTURfSURfTFY0MDBUCTB4MjJCOTIyQjkJLyogMjlMVjQwMFQgSUQgKCA0IE0sIHRvcCBib290IHNlY3RvcikJKi8KICNkZWZpbmUgQU1EX0lEX0xWNDAwQgkweDIyQkEyMkJBCS8qIDI5TFY0MDBCIElEICggNCBNLCBib3R0b20gYm9vdCBzZWN0KQkqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9pODA0Mi5oIGIvaW5jbHVkZS9pODA0Mi5oCmluZGV4IDYxYzlkYTIuLmY3NzIzOWYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvaTgwNDIuaAorKysgYi9pbmNsdWRlL2k4MDQyLmgKQEAgLTI2LDYgKzI2LDEzIEBACiAjaWZuZGVmIF9JODA0Ml9IXwogI2RlZmluZSBfSTgwNDJfSF8KIAorI2lmZGVmIF9fSTM4Nl9fCisjaW5jbHVkZSA8Y29tbW9uLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjZGVmaW5lIGluOChwKSBpbmIocCkKKyNkZWZpbmUgb3V0OChwLHYpIG91dGIodixwKQorI2VuZGlmCisKIC8qIGRlZmluZXMgKi8KIAogI2RlZmluZSBJODA0Ml9EQVRBX1JFRyAgICAgIChDRkdfSVNBX0lPICsgMHgwMDYwKSAgICAvKiBrZXlib2FyZCBpL28gYnVmZmVyICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L210ZC9uYW5kLmggYi9pbmNsdWRlL2xpbnV4L210ZC9uYW5kLmgKaW5kZXggNDQyNTE4Ny4uNjc4YmVmNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9tdGQvbmFuZC5oCisrKyBiL2luY2x1ZGUvbGludXgvbXRkL25hbmQuaApAQCAtMTE0LDggKzExNCw2IEBACiAJdW5zaWduZWQgbG9uZyBtZnI7IC8qIEZsYXNoIElEcyAtIG9ubHkgb25lIHR5cGUgb2YgZmxhc2ggcGVyIGRldmljZSAqLwogCXVuc2lnbmVkIGxvbmcgaWQ7CiAJY2hhciogbmFtZTsKLQlzdHJ1Y3QgTkZUTHJlY29yZCBuZnRsOwotCWludCBuZnRsX2ZvdW5kOwogCWludCBudW1jaGlwczsKIAljaGFyIHBhZ2UyNTY7CiAJY2hhciBwYWdlYWRybGVuOwpAQCAtMTk1LDQgKzE5Myw2IEBACiAjZGVmaW5lIE5BTkRfSkZGUzJfT09COF9GU0RBTEVOCQkyCiAjZGVmaW5lIE5BTkRfSkZGUzJfT09CMTZfRlNEQUxFTgk4CiAKK3ZvaWQgbmFuZF9wcm9iZSh1bnNpZ25lZCBsb25nIHBoeXNhZHIpOworCiAjZW5kaWYgLyogX19MSU5VWF9NVERfTkFORF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L210ZC9uYW5kX2lkcy5oIGIvaW5jbHVkZS9saW51eC9tdGQvbmFuZF9pZHMuaAppbmRleCA2YjczM2JlLi5hNzNiZmYwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L210ZC9uYW5kX2lkcy5oCisrKyBiL2luY2x1ZGUvbGludXgvbXRkL25hbmRfaWRzLmgKQEAgLTM3LDYgKzM3LDcgQEAKIAl7IlRvc2hpYmEgVEM1OFYzMkRDIiwgICAgIE5BTkRfTUZSX1RPU0hJQkEsIDB4ZTUsIDIyLCAwLCAyLCAweDIwMDB9LAogCXsiVG9zaGliYSBUQzU4VjY0QUZUL0RDIiwgTkFORF9NRlJfVE9TSElCQSwgMHhlNiwgMjMsIDAsIDIsIDB4MjAwMH0sCiAJeyJUb3NoaWJhIFRDNThWMTZCREMiLCAgICBOQU5EX01GUl9UT1NISUJBLCAweGVhLCAyMSwgMSwgMiwgMHgxMDAwfSwKKwl7IlRvc2hpYmEgVEg1ODEwMEZUIiwgICAgIE5BTkRfTUZSX1RPU0hJQkEsIDB4NzksIDI3LCAwLCAzLCAweDQwMDB9LAogCXsiU2Ftc3VuZyBLTTI5TjE2MDAwIiwgICAgTkFORF9NRlJfU0FNU1VORywgMHg2NCwgMjEsIDEsIDIsIDB4MTAwMH0sCiAJeyJTYW1zdW5nIHVua25vd24gNE1iIiwgICBOQU5EX01GUl9TQU1TVU5HLCAweDZiLCAyMiwgMCwgMiwgMHgyMDAwfSwKIAl7IlNhbXN1bmcgS00yOVUxMjhUIiwgICAgIE5BTkRfTUZSX1NBTVNVTkcsIDB4NzMsIDI0LCAwLCAyLCAweDQwMDB9LApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wY2kuaCBiL2luY2x1ZGUvcGNpLmgKaW5kZXggZTUwNTViMS4uNDU4YmUyMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9wY2kuaAorKysgYi9pbmNsdWRlL3BjaS5oCkBAIC00NjIsNiArNDYyLDggQEAKIAogZXh0ZXJuIHBjaV9kZXZfdCBwY2lfZmluZF9kZXZpY2UgKHVuc2lnbmVkIGludCB2ZW5kb3IsIHVuc2lnbmVkIGludCBkZXZpY2UsIGludCBpbmRleCk7CiBleHRlcm4gcGNpX2Rldl90IHBjaV9maW5kX2RldmljZXMgKHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZHMsIGludCBpbmRleCk7CitleHRlcm4gcGNpX2Rldl90IHBjaV9maW5kX2NsYXNzKGludCB3YW50ZWRfY2xhc3MsIGludCB3YW50ZWRfc3ViX2NvZGUsCisJCQkJaW50IHdhbnRlZF9wcm9nX2lmLCBpbnQgaW5kZXgpOwogCiBleHRlcm4gaW50IHBjaV9ob3NlX2NvbmZpZ19kZXZpY2Uoc3RydWN0IHBjaV9jb250cm9sbGVyICpob3NlLAogCQkJCSAgcGNpX2Rldl90IGRldiwKZGlmZiAtLWdpdCBhL2xpYl9pMzg2L01ha2VmaWxlIGIvbGliX2kzODYvTWFrZWZpbGUKaW5kZXggMzQ5OTRlNS4uNDdjNWQyYyAxMDA2NDQKLS0tIGEvbGliX2kzODYvTWFrZWZpbGUKKysrIGIvbGliX2kzODYvTWFrZWZpbGUKQEAgLTI1LDExICsyNSwxMSBAQAogCiBMSUIJPSBsaWIkKEFSQ0gpLmEKIAotQU9CSlMJPSBiaW9zLm8gcmVhbG1vZGVfc3dpdGNoLm8gaWMvc2M1MjBfYXNtLm8KK0FPQkpTCT0gYmlvcy5vIGJpb3NfcGNpLm8gcmVhbG1vZGVfc3dpdGNoLm8gCiAKIENPQkpTCT0gYm9hcmQubyBiaW9zX3NldHVwLm8gaTM4Nl9saW51eC5vIHppbWFnZS5vIHJlYWxtb2RlLm8gXAotCSAgcGNpX3R5cGUxLm8gaWMvc2M1MjAubyBpYy9hbGk1MTJ4Lm8KLQorCSAgcGNpX3R5cGUxLm8gcGNpLm8gdmlkZW9fYmlvcy5vIHZpZGVvLm8gIAorCSAgCiBPQkpTCT0gJChBT0JKUykgJChDT0JKUykKIAogJChMSUIpOgkuZGVwZW5kICQoT0JKUykKZGlmZiAtLWdpdCBhL2xpYl9pMzg2L2Jpb3MuUyBiL2xpYl9pMzg2L2Jpb3MuUwppbmRleCAyZjVlYThjLi5jZTZlOTRjIDEwMDY0NAotLS0gYS9saWJfaTM4Ni9iaW9zLlMKKysrIGIvbGliX2kzODYvYmlvcy5TCkBAIC0zMCw2ICszMCw4IEBACiAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCisjaW5jbHVkZSAiYmlvcy5oIgorCiAvKgogICogRHVyaW5nIGl0J3MgaW5pdGlhbGl6YXRpb24gcGhhc2UsIGJlZm9yZSBzd2l0Y2hpbmcgdG8gcHJvdGVjdGVkCiAgKiBtb2RlLCB0aGUgTGludXggS2VybmVsIG1ha2VzIGEgZmV3IEJJT1MgY2FsbHMuIFRoaXMgd29uJ3Qgd29yawpAQCAtNDAsMjkgKzQyLDEzIEBACiAgKiBhIGdlbmVyYWwgcHVycG9zZSByZXBsYWNlbWVudCBmb3IgYSByZWFsIEJJT1MgISEKICAqLwogCi0jZGVmaW5lIE9GRlNfRVMgICAgICAwCi0jZGVmaW5lIE9GRlNfR1MgICAgICAyCi0jZGVmaW5lIE9GRlNfRFMgICAgICA0Ci0jZGVmaW5lIE9GRlNfREkgICAgICA2Ci0jZGVmaW5lIE9GRlNfU0kgICAgICA4Ci0jZGVmaW5lIE9GRlNfQlAgICAgICAxMAotI2RlZmluZSBPRkZTX1NQICAgICAgMTIKLSNkZWZpbmUgT0ZGU19CWCAgICAgIDE0Ci0jZGVmaW5lIE9GRlNfRFggICAgICAxNgotI2RlZmluZSBPRkZTX0NYICAgICAgMTgKLSNkZWZpbmUgT0ZGU19BWCAgICAgIDIwCi0jZGVmaW5lIE9GRlNfVkVDVE9SICAyMgotI2RlZmluZSBPRkZTX0lQICAgICAgMjQKLSNkZWZpbmUgT0ZGU19DUyAgICAgIDI2Ci0jZGVmaW5lIE9GRlNfRkxBR1MgICAyOAotCi0jZGVmaW5lIFNFR01FTlQgICAgICAweDQwCi0jZGVmaW5lIFNUQUNLCSAgICAgMHg4MDAgIAkJCS8qIHN0YWNrIGF0IDB4NDA6MHg4MDAgLT4gMHg4MDAgKi8KIAogLnNlY3Rpb24gLmJpb3MsICJheCIKIC5jb2RlMTYKIC5vcmcgMAotCisgICAgICAJLyogYSBjYWxsIHRvIGYwMDA6MCBzaG91bGQgd2FybWJvb3QgKi8KKwlqbXAJcmVhbG1vZGVfcmVzZXQKKwkKIC5nbG9ibCBybV9pbnQwMAogcm1faW50MDA6CiAJcHVzaHcJJDAKQEAgLTIwMiwzMCArMTg4LDIzIEBACiAJICogc3RhY2suCiAJICovCiBhbnlfaW50ZXJydXB0MTY6Ci0JcHVzaGEJCQkJCS8qIHNhdmUgZ2VuZXJhbCByZWdpc3RlcnMgKi8KLQlwdXNodwklZHMJCQkJLyogc2F2ZSBzb21lIHNlZ21lbnRzICAgICAqLwotCXB1c2h3CSVncwotCXB1c2h3CSVlcwotCXB1c2h3CSVzcwkJCQkvKiBzYXZlIGNhbGxlcnMgc3RhY2sgc2VnbWVudCAuLiAqLwotCXBvcHcJJWdzCQkJCS8qIC4uLiBpbiBncyAqLwotCW1vdncJJFNFR01FTlQsJWF4CQkJLyogc2V0dXAgbXkgc2VnbWVudHMgKi8KLQltb3Z3CSVheCwlZHMKLQltb3Z3CSVheCwlZXMKLQltb3Z3CSVheCwlc3MKLQltb3Z3CSVzcCwlYnAKLQltb3Z3CSRTVEFDSywlc3AJCQkvKiBzZXR1cCBCSU9TIHN0YWNrcG9pbnRlciAqLworICAgICAgICBNQUtFX0JJT1NfU1RBQ0sKIAogZ3MJbW92dwlPRkZTX1ZFQ1RPUiglYnApLCAlYXgKIAljbXB3CSQweDEwLCAlYXgKIAlqZQlMaW50XzEwaCAgICAgICAgIAogCWNtcHcJJDB4MTEsICVheAogCWplCUxpbnRfMTFoCisJY21wdwkkMHgxMiwgJWF4CisJamUJTGludF8xMmgKIAljbXB3CSQweDEzLCAlYXgKIAlqZQlMaW50XzEzaAogCWNtcHcJJDB4MTUsICVheAogCWplCUxpbnRfMTVoCiAJY21wdwkkMHgxNiwgJWF4CiAJamUJTGludF8xNmgKKwljbXB3CSQweDFhLCAlYXgKKwlqZQlMaW50XzFhaAogCW1vdncJJDB4ZmZmZiwgJWF4CiAJam1wCUxvdXQKIExpbnRfMTBoOgkJCQkJLyogVkdBIEJJT1Mgc2VydmljZXMgKi8KQEAgLTIzNCw2ICsyMTMsOSBAQAogTGludF8xMWg6CQogCWNhbGwJYmlvc18xMWgKIAlqbXAJTG91dAorTGludF8xMmg6CQorCWNhbGwJYmlvc18xMmgKKwlqbXAJTG91dAogTGludF8xM2g6CQkJCQkvKiBCSU9TIGRpc2sgc2VydmljZXMgKi8KIAljYWxsCWJpb3NfMTNoCiAJam1wCUxvdXQKQEAgLTI0Myw2ICsyMjUsOSBAQAogTGludF8xNmg6CQkJCQkvKiBrZXlib2FyZCBzZXJ2aWNlcyAqLwogCWNhbGwJYmlvc18xNmgKIAlqbXAJTG91dAorTGludF8xYWg6CQkJCQkvKiBQQ0kgYmlvcyAqLworCWNhbGwJYmlvc18xYWgKKwlqbXAJTG91dAogTG91dDoJCiAJY21wdwkkMCwgJWF4CiAJamUJTGhhbmRlbGVkCkBAIC0yNTYsMTYgKzI0MSw3IEBACiAJICogd2Ugc2h1bHMgbWFrZSBpbnQgMHgxMCBhbmQgaW50IDB4MTYgd29yayBhcyB3ZWxsKSkKIAkgKi8KIExoYW5kZWxlZDoKLQotCXB1c2h3CSVncwkJCQkvKiByZXN0b3JlIGNhbGxlcnMgc3RhY2sgc2VnbWVudCAqLwotCXBvcHcJJXNzCi0JbW92dwklYnAsJXNwCQkJCS8qIHJlc3RvcmUgc3RhY2twb2ludGVyICovCi0KLQlwb3B3CSVlcwkJCQkvKiByZXN0b3JlIHNlZ21lbnQgc2VsZWN0b3JzICovCi0JcG9wdwklZ3MKLQlwb3B3CSVkcwotCQotCXBvcGEJCQkJCS8qIHJlc3RvcmUgR1AgcmVnaXN0ZXJzICovCisJUkVTVE9SRV9DQUxMRVJTX1NUQUNLCiAJYWRkdwkkMiwlc3AJCQkJLyogZHVtcCB2ZWN0b3IgbnVtYmVyICovCiAJaXJldAkJCQkJLyogcmV0dXJuIGZyb20gaW50ZXJydXB0ICovCiAKQEAgLTMwOSw3ICsyODUsNyBAQAogICovCiAKIGJpb3NfMTFoOgotCW1vdncJYmlvc19lcXVpcG1lbnQsICVheAorY3MJbW92dwliaW9zX2VxdWlwbWVudCwgJWF4CiBncwltb3Z3CSVheCwgT0ZGU19BWCglYnApICAKIAl4b3J3CSVheCwgJWF4CiAJcmV0CkBAIC0zMTcsNiArMjkzLDMwIEBACiAKIC8qCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBCSU9TIAlpbnRlcnJ1cHQgMTJoIC0tIEdldCBNZW1vcnkgU2l6ZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICovCitiaW9zXzEyaDoKK2NzCW1vdncJcmFtX2luXzY0a2JfY2h1bmtzLCAlYXgKKwljbXB3CSQweGEsICVheAorCWphCWIxMl9tb3JlX3RoYW5fNjQwaworCXNobHcJJDYsICVheAorCWptcAliMTJfcmV0dXJuCitiMTJfbW9yZV90aGFuXzY0MGs6CisJbW92dwkkMHgyODAsICVheAorYjEyX3JldHVybjoKK2dzCW1vdncJJWF4LCBPRkZTX0FYKCVicCkJCS8qIHJldHVybiBudW1iZXIgb2Yga2lsb2J5dGVzIGluIGF4ICovCisKK2dzCW1vdncJT0ZGU19GTEFHUyglYnApLCAlYXgKKwlhbmR3CSQweGZmZmUsICVheAkJCS8qIGNsZWFyIGNhcnJ5IC0tIGZ1bmN0aW9uIHN1Y2NlZWRlZCAqLworZ3MJbW92dwklYXgsIE9GRlNfRkxBR1MoJWJwKQorCisJeG9ydwklYXgsICVheAorCXJldAorCisKKy8qCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBCSU9TIGludGVycnVwdCAxM2ggLS0gRGlzayBzZXJ2aWNlcwogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICovCkBAIC0zNzIsMjcgKzM3MiwyOCBAQAogCXJldAogCQogTGZ1bmNfZTgwMWg6CQkJCQkvKiBHZXQgbWVtb3J5IHNpemUgZm9yID42NE0gQ29uZmlndXJhdGlvbnMgKi8KLQltb3Z3CSRyYW1faW5fNjRrYl9jaHVua3MsICVheAotCWNtcHcJJDI1NiwgJWF4Ci0JamEJTG1vcmVfdGhhbl8xNm1iCi0Jc2hsdwkkNiwgJWF4CQkJCS8qIG11bHRpcGx5IGJ5IDY0ICovCQotZ3MJbW92dwklYXgsIE9GRlNfQVgoJWJwKSAgIAkJLyogcmV0dXJuIG1lbW9yeSBzaXplIGluIDFrYiBjaHVua3MgaW4gQVggYW5kIENYICovCitjcwltb3Z3CXJhbV9pbl82NGtiX2NodW5rcywgJWF4CisJY21wdwkkMHgxMDAsICVheAorCWphCWU4MDFfbW9yZV90aGFuXzE2bWIKKwlzaGx3CSQ2LCAlYXgJCQkJLyogbXVsdGlwbHkgYnkgNjQgKi8KKwlzdWJ3CSQweDQwMCwgJWF4CQkJLyogMXN0IG1lZyBkb2VzIG5vdCBjb3VudCAqLworIAkKK2dzCW1vdncJJWF4LCBPRkZTX0FYKCVicCkgICAJCS8qIHJldHVybiBtZW1vcnkgc2l6ZSBiZXR3ZWVuIDFNIGFuZCAxNk0gaW4gMWtiIGNodW5rcyBpbiBBWCBhbmQgQ1ggKi8KIGdzCW1vdncJJWF4LCBPRkZTX0NYKCVicCkKLQl4b3J3CSVheCwgJWF4Ci1ncwltb3Z3CSVheCwgT0ZGU19CWCglYnApCQkvKiBzZXQgQlggYW5kIERYIHRvIDAqLwotZ3MJbW92dwklYXgsIE9GRlNfRFgoJWJwKQkKK2dzCW1vdncJJDAsIE9GRlNfQlgoJWJwKQkJLyogc2V0IEJYIGFuZCBEWCB0byAwKi8KK2dzCW1vdncJJDAsIE9GRlNfRFgoJWJwKQkKIGdzCW1vdncJT0ZGU19GTEFHUyglYnApLCAlYXgKIAlhbmR3CSQweGZmZmUsICVheAkJCS8qIGNsZWFyIGNhcnJ5IC0tIGZ1bmN0aW9uIHN1Y2NlZWRlZCAqLwogZ3MJbW92dwklYXgsIE9GRlNfRkxBR1MoJWJwKQogCXhvcncJJWF4LCAlYXgKIAlyZXQKIAkKLUxtb3JlX3RoYW5fMTZtYjoKK2U4MDFfbW9yZV90aGFuXzE2bWI6CiAJc3VidwkkMHgxMDAsICVheAkJCS8qIHN1YnRyYWN0IDE2TUIgKi8JCiAJCi1ncwltb3Z3CSQweDNjMDAsIE9GRlNfQVgoJWJwKQkJLyogcmV0dXJuIDB4M2MwMCAoMTZNQi0zODRrKSBpbiBBWCBhbmQgQ1ggKi8KK2dzCW1vdncJJDB4M2MwMCwgT0ZGU19BWCglYnApCQkvKiByZXR1cm4gMHgzYzAwICgxNk1CLTFNQikgaW4gQVggYW5kIENYICovCiBncwltb3Z3CSQweDNjMDAsIE9GRlNfQ1goJWJwKQotZ3MJbW92dwklYXgsIE9GRlNfQlgoJWJwKQkJLyogc2V0IEJYIGFuZCBEWCB0byBudW1iZXIgb2YgNjRrYiBjaHVua3MgLSAyNTYgKi8KK2dzCW1vdncJJWF4LCBPRkZTX0JYKCVicCkJCS8qIHNldCBCWCBhbmQgRFggdG8gbnVtYmVyIG9mIDY0a2IgY2h1bmtzIGFib3ZlIDE2TUIgKi8KIGdzCW1vdncJJWF4LCBPRkZTX0RYKCVicCkJCiAKIGdzCW1vdncJT0ZGU19GTEFHUyglYnApLCAlYXgKQEAgLTQwMiwxMSArNDAzLDE1IEBACiAJcmV0CiAKIExmdW5jXzg4aDoKLQltb3Z3CXJhbV9pbl82NGtiX2NodW5rcywgJWF4Ci0Jc3VidwkkMTYsICVheAorY3MJbW92dwlyYW1faW5fNjRrYl9jaHVua3MsICVheAorCWNtcHcJJDB4MTAwLCAlYXgKKwlqbmEJYjg4X25vdF9tb3JlX3RoYW4xNgorCW1vdncJJDB4MTAwLCAlYXgKK2I4OF9ub3RfbW9yZV90aGFuMTY6CiAJc2hsdwkkNiwgJWF4Ci0JCi1ncwltb3Z3CSVheCwgT0ZGU19BWCglYnApCQkvKiByZXR1cm4gbnVtYmVyIG9mIGtpbG9ieXRlcyBpbiBheCAqLworCXN1YncJJDB4NDAwLCAlYXgJCQkvKiAxc3QgbWVnIGRvZXMgbm90IGNvdW50ICovCisJCQorZ3MJbW92dwklYXgsIE9GRlNfQVgoJWJwKQkJLyogcmV0dXJuIG51bWJlciBvZiBraWxvYnl0ZXMgYmV0d2VlbiAxNk1CIGFuZCAxNk1CIGluIGF4ICovCiAKIGdzCW1vdncJT0ZGU19GTEFHUyglYnApLCAlYXgKIAlhbmR3CSQweGZmZmUsICVheAkJCS8qIGNsZWFyIGNhcnJ5IC0tIGZ1bmN0aW9uIHN1Y2NlZWRlZCAqLwpAQCAtNDMyLDYgKzQzNywyMiBAQAogCXhvcncJJWF4LCAlYXgJCQkvKiBkbyBub3RoaW5nIC0tIGZ1bmN0aW9uIG5vdCBzdXBwb3J0ZWQgKi8KIAlyZXQKIAorLyoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEJJT1MgaW50ZXJydXB0IDFhaCAtLSBQQ0kgYmlvcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICovCitiaW9zXzFhaDoKK2dzCW1vdncJT0ZGU19BWCglYnApLCAlYXgKKwljbXBiCSQweGIxLCAlYWgKKwlqZQlMZnVuY19iMWgKKwltb3Z3CSQweGZmZmYsICVheAorCXJldAorTGZ1bmNfYjFoOgorCWNhbGwJcmVhbG1vZGVfcGNpX2Jpb3MKKwl4b3J3CSVheCwgJWF4CQkJLyogZG8gbm90aGluZyAtLSBmdW5jdGlvbiBub3Qgc3VwcG9ydGVkICovCisJcmV0CisKIAogLmdsb2JsIHJhbV9pbl82NGtiX2NodW5rcwogcmFtX2luXzY0a2JfY2h1bmtzOgpkaWZmIC0tZ2l0IGEvbGliX2kzODYvYmlvcy5oIGIvbGliX2kzODYvYmlvcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3NmZlMzEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJfaTM4Ni9iaW9zLmgKQEAgLTAsMCArMSw5NCBAQAorLyoKKyAqIChDKSBDb3B5cmlnaHQgMjAwMgorICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIsIGRhbmllbEBvbWljcm9uLnNlCisgKiAKKyAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCisgKiBwcm9qZWN0LgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sCisgKiBNQSAwMjExMS0xMzA3IFVTQQorICovCisKKyNpZm5kZWYgX0JJT1NfSF8KKyNkZWZpbmUgX0JJT1NfSF8KKworI2RlZmluZSBPRkZTX0VTICAgICAgMCAgICAgLyogMTZiaXQgKi8KKyNkZWZpbmUgT0ZGU19HUyAgICAgIDIgICAgIC8qIDE2Yml0ICovCisjZGVmaW5lIE9GRlNfRFMgICAgICA0ICAgICAvKiAxNmJpdCAqLworI2RlZmluZSBPRkZTX0VESSAgICAgNiAgICAgLyogMzJiaXQgKi8KKyNkZWZpbmUgT0ZGU19ESSAgICAgIDYgICAgIC8qIGxvdyAxNiBiaXRzIG9mIEVESSAqLyAgIAorI2RlZmluZSBPRkZTX0VTSSAgICAgMTAgICAgLyogMzJiaXQgKi8KKyNkZWZpbmUgT0ZGU19TSSAgICAgIDEwICAgIC8qIGxvdyAxNiBiaXRzIG9mIEVTSSAqLyAgIAorI2RlZmluZSBPRkZTX0VCUCAgICAgMTQgICAgLyogMzJiaXQgKi8KKyNkZWZpbmUgT0ZGU19CUCAgICAgIDE0ICAgIC8qIGxvdyAxNiBiaXRzIG9mIEVCUCAqLworI2RlZmluZSBPRkZTX0VTUCAgICAgMTggICAgLyogMzJiaXQgKi8KKyNkZWZpbmUgT0ZGU19TUCAgICAgIDE4ICAgIC8qIGxvdyAxNiBiaXRzIG9mIEVTUCAqLworI2RlZmluZSBPRkZTX0VCWCAgICAgMjIgICAgLyogMzJiaXQgKi8KKyNkZWZpbmUgT0ZGU19CWCAgICAgIDIyICAgIC8qIGxvdyAxNiBiaXRzIG9mIEVCWCAqLworI2RlZmluZSBPRkZTX0JMICAgICAgMjIgICAgLyogbG93ICA4IGJpdHMgb2YgQlggKi8KKyNkZWZpbmUgT0ZGU19CSCAgICAgIDIzICAgIC8qIGhpZ2ggOCBiaXRzIG9mIEJYICovCisjZGVmaW5lIE9GRlNfRURYICAgICAyNiAgICAvKiAzMmJpdCAqLworI2RlZmluZSBPRkZTX0RYICAgICAgMjYgICAgLyogbG93IDE2IGJpdHMgb2YgRUJYICovCisjZGVmaW5lIE9GRlNfREwgICAgICAyNiAgICAvKiBsb3cgIDggYml0cyBvZiBCWCAqLworI2RlZmluZSBPRkZTX0RIICAgICAgMjcgICAgLyogaGlnaCA4IGJpdHMgb2YgQlggKi8KKyNkZWZpbmUgT0ZGU19FQ1ggICAgIDMwICAgIC8qIDMyYml0ICovCisjZGVmaW5lIE9GRlNfQ1ggICAgICAzMCAgICAvKiBsb3cgMTYgYml0cyBvZiBFQlggKi8KKyNkZWZpbmUgT0ZGU19DTCAgICAgIDMwICAgIC8qIGxvdyAgOCBiaXRzIG9mIEJYICovCisjZGVmaW5lIE9GRlNfQ0ggICAgICAzMSAgICAvKiBoaWdoIDggYml0cyBvZiBCWCAqLworI2RlZmluZSBPRkZTX0VBWCAgICAgMzQgICAgLyogMzJiaXQgKi8KKyNkZWZpbmUgT0ZGU19BWCAgICAgIDM0ICAgIC8qIGxvdyAxNiBiaXRzIG9mIEVCWCAqLworI2RlZmluZSBPRkZTX0FMICAgICAgMzQgICAgLyogbG93ICA4IGJpdHMgb2YgQlggKi8KKyNkZWZpbmUgT0ZGU19BSCAgICAgIDM1ICAgIC8qIGhpZ2ggOCBiaXRzIG9mIEJYICovCisjZGVmaW5lIE9GRlNfVkVDVE9SICAzOCAgICAvKiAxNmJpdCAqLworI2RlZmluZSBPRkZTX0lQICAgICAgNDAgICAgLyogMTZiaXQgKi8KKyNkZWZpbmUgT0ZGU19DUyAgICAgIDQyICAgIC8qIDE2Yml0ICovCisjZGVmaW5lIE9GRlNfRkxBR1MgICA0NCAgICAvKiAxNmJpdCAqLyAgIAorCisjZGVmaW5lIFNFR01FTlQgICAgICAweDQwCisjZGVmaW5lIFNUQUNLCSAgICAgMHg4MDAgIAkJCS8qIHN0YWNrIGF0IDB4NDA6MHg4MDAgLT4gMHg4MDAgKi8KKworLyogc2F2ZSBnZW5lcmFsIHJlZ2lzdGVycyAqLworLyogc2F2ZSBzb21lIHNlZ21lbnRzICAgICAqLworLyogc2F2ZSBjYWxsZXJzIHN0YWNrIHNlZ21lbnQgLi4gKi8KKy8qIC4uLiBpbiBncyAqLworCS8qIHNldHVwIG15IHNlZ21lbnRzICovIAorCS8qIHNldHVwIEJJT1Mgc3RhY2twb2ludGVyICovIAorCQorI2RlZmluZSBNQUtFX0JJT1NfU1RBQ0sgXAorCXB1c2hhbAkJOyBcCisJcHVzaHcJJWRzCTsgXAorCXB1c2h3CSVncwk7IFwKKwlwdXNodwklZXMJOyBcCisJcHVzaHcJJXNzCTsgXAorCXBvcHcJJWdzCTsgXAorCW1vdncJJFNFR01FTlQsJWF4IDsgXAorCW1vdncJJWF4LCVkcwk7IFwKKwltb3Z3CSVheCwlZXMJOyBcCisJbW92dwklYXgsJXNzCTsgXAorCW1vdncJJXNwLCVicAk7IFwKKwltb3Z3CSRTVEFDSywlc3AKKworI2RlZmluZSBSRVNUT1JFX0NBTExFUlNfU1RBQ0sgXAorCXB1c2h3CSVncyAgICAgOwkJCS8qIHJlc3RvcmUgY2FsbGVycyBzdGFjayBzZWdtZW50ICovIFwKKwlwb3B3CSVzcyAgICAgOyBcCisJbW92dwklYnAsJXNwCTsJCQkvKiByZXN0b3JlIHN0YWNrcG9pbnRlciAqLyBcCisJCVwKKwlwb3B3CSVlcwk7CQkJLyogcmVzdG9yZSBzZWdtZW50IHNlbGVjdG9ycyAqLyBcCisJcG9wdwklZ3MgICAgIDsgXAorCXBvcHcJJWRzICAgICA7IFwKKwkJXAorCXBvcGFsCQkJCQkvKiByZXN0b3JlIEdQIHJlZ2lzdGVycyAqLyAKKworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJfaTM4Ni9iaW9zX3BjaS5TIGIvbGliX2kzODYvYmlvc19wY2kuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTM3OTFhCi0tLSAvZGV2L251bGwKKysrIGIvbGliX2kzODYvYmlvc19wY2kuUwpAQCAtMCwwICsxLDQxMSBAQAorLyoKKyAqIChDKSBDb3B5cmlnaHQgMjAwMgorICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIsIGRhbmllbEBvbWljcm9uLnNlCisgKiAKKyAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCisgKiBwcm9qZWN0LgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sCisgKiBNQSAwMjExMS0xMzA3IFVTQQorICovCisKKy8qCisgKiB4ODYgcmVhbG1vZGUgYXNzZW1ibHkgaW1wbGVtZW50YXRpb24gb2YgYSBQQ0kgQklPUworICogZm9yIHBsYXRmb3JtcyB0aGF0IHVzZSBvbmUgUENJIGhvc2UgYW5kIGNvbmZpZ3VyYXRpb24gCisgKiBhY2Nlc3MgdHlwZSAxLiAoVGhlIGNvbW1vbiBjYXNlIGZvciBsb3ctZW5kIFBDJ3MpCisgKi8KKyAKKyNpbmNsdWRlICJiaW9zLmgiCisKKyNkZWZpbmUgUENJX0JJT1NfREVCVUcKKworLnNlY3Rpb24gLmJpb3MsICJheCIKKy5jb2RlMTYKKy5nbG9ibCByZWFsbW9kZV9wY2lfYmlvc19jYWxsX2VudHJ5CityZWFsbW9kZV9wY2lfYmlvc19jYWxsX2VudHJ5OgorCU1BS0VfQklPU19TVEFDSworCWNhbGwgcmVhbG1vZGVfcGNpX2Jpb3MKKwlSRVNUT1JFX0NBTExFUlNfU1RBQ0sKKwlyZXQKKwkKKwkKKy5nbG9ibCByZWFsbW9kZV9wY2lfYmlvcworcmVhbG1vZGVfcGNpX2Jpb3M6Citncwltb3Z3CU9GRlNfQVgoJWJwKSwgJWF4CisJY21wYgkkMSwgJWFsCisJamUJcGNpX2Jpb3NfcHJlc2VudAorCWNtcGIJJDIsICVhbAorCWplCXBjaV9iaW9zX2ZpbmRfZGV2aWNlCisJY21wYgkkMywgJWFsCisJamUJcGNpX2Jpb3NfZmluZF9jbGFzcworCWNtcGIJJDYsICVhbAorCWplCXBjaV9iaW9zX2dlbmVyYXRlX3NwZWNpYWxfY3ljbGUKKwljbXBiCSQ4LCAlYWwKKwlqZQlwY2lfYmlvc19yZWFkX2NmZ19ieXRlCisJY21wYgkkOSwgJWFsCisJamUJcGNpX2Jpb3NfcmVhZF9jZmdfd29yZAorCWNtcGIJJDEwLCAlYWwKKwlqZQlwY2lfYmlvc19yZWFkX2NmZ19kd29yZAorCWNtcGIJJDExLCAlYWwKKwlqZQlwY2lfYmlvc193cml0ZV9jZmdfYnl0ZQorCWNtcGIJJDEyLCAlYWwKKwlqZQlwY2lfYmlvc193cml0ZV9jZmdfd29yZAorCWNtcGIJJDEzLCAlYWwKKwlqZQlwY2lfYmlvc193cml0ZV9jZmdfZHdvcmQKKwljbXBiCSQxNCwgJWFsCisJamUJcGNpX2Jpb3NfZ2V0X2lycV9yb3V0aW5nCisJY21wYgkkMTUsICVhbAorCWplCXBjaV9iaW9zX3NldF9pcnEKKwlqbXAJdW5rbm93bl9mdW5jdGlvbgorCQorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitwY2lfYmlvc19wcmVzZW50OgorI2lmZGVmIFBDSV9CSU9TX0RFQlVHCitjcwlpbmNsCW51bV9wY2lfYmlvc19wcmVzZW50CisjZW5kaWYKKwltb3ZsCSQweDIwNDk0MzUwLCAlZWF4Citncwltb3ZsCSVlYXgsIE9GRlNfRURYKCVicCkJCisJbW92YgkkMHgwMSwgJWFsCitncwltb3ZiCSVhbCwgT0ZGU19BTCglYnApCS8qIFdlIHN1cHBvcnQgY2ZnIHR5cGUgMSAqLyAKKwltb3Z3CSQweDAyMTAsICVheCAgICAgICAgICAgIC8qIHZlcnNpb24gMi4xMCAqLwkKK2dzCW1vdncJJWF4LCBPRkZTX0JYKCVicCkJCitjcwltb3ZiCXBjaV9sYXN0X2J1cywgJWFsICAgICAgIC8qIGxhc3QgYnVzIG51bWJlciAqLworZ3MJbW92YgklYWwsIE9GRlNfQ0woJWJwKQkKKwlqbXAgCWNsZWFyX2NhcnJ5CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogZGV2aWNlIDAtMzEsIGZ1bmN0aW9uIDAtNyAqLworcGNpX2Jpb3NfZmluZF9kZXZpY2U6CQorI2lmZGVmIFBDSV9CSU9TX0RFQlVHCitjcwlpbmNsIAludW1fcGNpX2Jpb3NfZmluZF9kZXZpY2UKKyNlbmRpZgorZ3MJbW92dwlPRkZTX0NYKCVicCksICVkaSAKKwlzaGxsCSQxNiwgJWVkaQorZ3MJbW92dwlPRkZTX0RYKCVicCksICVkaSAgICAgICAvKiBlZGkgbm93IGhvbGRzIGRldmljZSBpbiB1cHBlciAxNiAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBiaXRzIGFuZCB2ZW5kb3IgaW4gbG93ZXIgMTYgYml0cyAqLworZ3MJbW92dwlPRkZTX1NJKCVicCksICVzaSAJCisJeG9ydwklYngsICVieCAgICAgICAgICAgICAgICAvKiBzdGFydCBhdCBidXMgMCBkZXYgMCBmdW5jdGlvbiAwICovCitwZmRfbG9vcDoJCisJeG9ydwklYXgsICVheAkJLyogZHdvcmQgMCBpcyB2ZW5kb3IvZGV2aWNlICovCQorCWNhbGwJX19wY2lfYmlvc19zZWxlY3RfcmVnaXN0ZXIJCQorCW1vdncJJDB4Y2ZjLCAlZHgKKwlpbmwJJWR4LCAlZWF4CisJY21wbAklZWRpLCAlZWF4CQkvKiBvdXIgZGV2aWNlID8gKi8KKwlqZQlwZmRfZm91bmRfb25lCitwZmRfbmV4dF9kZXY6CisJLyogY2hlY2sgZm9yIG11bHRpIGZ1bmN0aW9uIGRldmljZXMgKi8KKwltb3Z3CSVieCwgJWF4CisJYW5kdwkkMywgJWF4CisJam56CXBmZF9mdW5jdGlvbl9ub3RfemVybworCW1vdncJJDB4MDAwYywgJWF4CQorCWNhbGwJX19wY2lfYmlvc19zZWxlY3RfcmVnaXN0ZXIJCQorCW1vdncJJDB4Y2ZlLCAlZHgKKwlpbmIJJWR4LCAlYWwKKwlhbmRiCSQweDgwLCAlYWwKKwlqeglwZmRfbm90X211bHRpX2Z1bmN0aW9uCitwZmRfZnVuY3Rpb25fbm90X3plcm86CisJaW5jdwklYngJCQkvKiBuZXh0IGZ1bmN0aW9uLCBvdmVyZmxvd3MgaW4gdG8KKwkJCQkJICogZGV2aWNlIG51bWJlciwgdGhlbiBidXMgbnVtYmVyICovCisJam1wCXBmZF9jaGVja19idXMKKwkKK3BmZF9ub3RfbXVsdGlfZnVuY3Rpb246CisJYW5kdwkkMHhmZmY4LCAlYnggICAgICAgICAgICAvKiByZW1vdmUgZnVuY3Rpb24gYml0cyAqLworCWFkZHcJJDB4MDAwOCwgJWJ4ICAgICAgICAgICAgLyogbmV4dCBkZXZpY2UsIG92ZXJmbG93cyBpbiB0byBidXMgbnVtYmVyICovCitwZmRfY2hlY2tfYnVzOgkKK2NzCW1vdmIJcGNpX2xhc3RfYnVzLCAlYWgKKwljbXBiCSVhaCwgJWJoCisJamEJcGZkX25vdF9mb3VuZAorCWptcAlwZmRfbG9vcAorcGZkX2ZvdW5kX29uZToKKwlkZWN3CSVzaQorCWpzCXBmZF9kb25lCisJam1wCXBmZF9uZXh0X2RldgorCitwZmRfZG9uZToKK2dzCW1vdncJJWJ4LCBPRkZTX0JYKCVicCkgCisJam1wCWNsZWFyX2NhcnJ5CisKK3BmZF9ub3RfZm91bmQ6CisJbW92YgkkMHg4NiwgJWFoICAgICAgICAgICAgICAvKiBkZXZpY2Ugbm90IGZvdW5kICovCisJam1wCXNldF9jYXJyeQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3BjaV9iaW9zX2ZpbmRfY2xhc3M6CisjaWZkZWYgUENJX0JJT1NfREVCVUcKK2NzCWluY2wJbnVtX3BjaV9iaW9zX2ZpbmRfY2xhc3MKKyNlbmRpZgorZ3MJbW92bAlPRkZTX0VDWCglYnApLCAlZWRpIAorCWFuZGwJJDB4MDBmZmZmZmYsICVlZGkgICAgICAgLyogZWRpIG5vdyBob2xkcyBjbGFzcy1jb2RlIGluIGxvd2VyIDI0IGJpdHMgKi8gCitncwltb3Z3CU9GRlNfU0koJWJwKSwgJXNpIAkKKwl4b3J3CSVieCwgJWJ4ICAgICAgICAgICAgICAgIC8qIHN0YXJ0IGF0IGJ1cyAwIGRldiAwIGZ1bmN0aW9uIDAgKi8KK3BmY19sb29wOgkKKwltb3Z3CSQ4LCAlYXgJCQkvKiBkd29yZCA4IGlzIGNsYXNzLWNvZGUgaGlnaCAyNGJpdHMgKi8JCisJY2FsbAlfX3BjaV9iaW9zX3NlbGVjdF9yZWdpc3RlcgkJCisJbW92dwkkMHhjZmMsICVkeAorCWlubAklZHgsICVlYXgKKwlzaHJsCSQ4LCAlZWF4CisJYW5kbAkkMHgwMGZmZmZmZiwgJWVheAorCWNtcGwJJWVkaSwgJWVheAkJLyogb3VyIGRldmljZSA/ICovCisJamUJcGZjX2ZvdW5kX29uZQorcGZjX25leHRfZGV2OgorCS8qIGNoZWNrIGZvciBtdWx0aSBmdW5jdGlvbiBkZXZpY2VzICovCisJYW5kdwkkMywgJWJ4CisJam56CXBmY19mdW5jdGlvbl9ub3RfemVybworCW1vdncJJDB4MDAwYywgJWF4CQorCWNhbGwJX19wY2lfYmlvc19zZWxlY3RfcmVnaXN0ZXIJCQorCW1vdncJJDB4Y2ZlLCAlZHgKKwlpbmIJJWR4LCAlYWwKKwlhbmRiCSQweDgwLCAlYWwKKwlqeglwZmNfbm90X211bHRpX2Z1bmN0aW9uCitwZmNfZnVuY3Rpb25fbm90X3plcm86CisJaW5jdwklYngJCQkvKiBuZXh0IGZ1bmN0aW9uLCBvdmVyZmxvd3MgaW4gdG8KKwkJCQkJICogZGV2aWNlIG51bWJlciwgdGhlbiBidXMgbnVtYmVyICovCisJam1wCXBmY19jaGVja19idXMKKwkKK3BmY19ub3RfbXVsdGlfZnVuY3Rpb246CisJYW5kdwkkMHhmZmY4LCAlYnggICAgICAgICAgICAvKiByZW1vdmUgZnVuY3Rpb24gYml0cyAqLworCWFkZHcJJDB4MDAwOCwgJWJ4ICAgICAgICAgICAgLyogbmV4dCBkZXZpY2UsIG92ZXJmbG93cyBpbiB0byBidXMgbnVtYmVyICovCitwZmNfY2hlY2tfYnVzOgkKK2NzCW1vdmIJcGNpX2xhc3RfYnVzLCAlYWgKKwljbXBiCSVhaCwgJWJoCisJamEJcGZjX25vdF9mb3VuZAorCWptcAlwZmNfbG9vcAorcGZjX2ZvdW5kX29uZToKKwlkZWN3CSVzaQorCWpzCXBmY19kb25lCisJam1wCXBmY19uZXh0X2RldgorCitwZmNfZG9uZToKK2dzCW1vdncJJWJ4LCBPRkZTX0JYKCVicCkgCisJam1wCWNsZWFyX2NhcnJ5CisKK3BmY19ub3RfZm91bmQ6CisJbW92YgkkMHg4NiwgJWFoICAgICAgICAgICAgICAvKiBkZXZpY2Ugbm90IGZvdW5kICovCisJam1wCXNldF9jYXJyeQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3BjaV9iaW9zX2dlbmVyYXRlX3NwZWNpYWxfY3ljbGU6CisjaWZkZWYgUENJX0JJT1NfREVCVUcKK2NzCWluY2wJbnVtX3BjaV9iaW9zX2dlbmVyYXRlX3NwZWNpYWxfY3ljbGUKKyNlbmRpZgorCW1vdmIJJDB4ODEsICVhaCAgICAgICAgICAgICAgLyogZnVuY3Rpb24gbm90IHN1cHBvcnRlZCAqLworCWptcAlzZXRfY2FycnkKKwkKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworcGNpX2Jpb3NfcmVhZF9jZmdfYnl0ZTogCisjaWZkZWYgUENJX0JJT1NfREVCVUcKK2NzCWluY2wJbnVtX3BjaV9iaW9zX3JlYWRfY2ZnX2J5dGUKKyNlbmRpZgorCWNhbGwJcGNpX2Jpb3Nfc2VsZWN0X3JlZ2lzdGVyCQorZ3MJbW92dyAJT0ZGU19ESSglYnApLCAlZHgKKwlhbmR3CSQzLCAlZHgKKwlhZGR3CSQweGNmYywgJWR4CisJaW5iCSVkeCwgJWFsCitncwltb3ZiCSVhbCwgT0ZGU19DTCglYnApCSAgIAorCWptcCAJY2xlYXJfY2FycnkKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitwY2lfYmlvc19yZWFkX2NmZ193b3JkOiAKKyNpZmRlZiBQQ0lfQklPU19ERUJVRworY3MJaW5jbAludW1fcGNpX2Jpb3NfcmVhZF9jZmdfd29yZAorI2VuZGlmCisJY2FsbAlwY2lfYmlvc19zZWxlY3RfcmVnaXN0ZXIKK2dzCW1vdncgCU9GRlNfREkoJWJwKSwgJWR4CisJYW5kdwkkMiwgJWR4CisJYWRkdwkkMHhjZmMsICVkeAorCWludwklZHgsICVheAorZ3MJbW92dwklYXgsIE9GRlNfQ1goJWJwKQkgICAKKwlqbXAgCWNsZWFyX2NhcnJ5CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitwY2lfYmlvc19yZWFkX2NmZ19kd29yZDogCisjaWZkZWYgUENJX0JJT1NfREVCVUcKK2NzCWluY2wJbnVtX3BjaV9iaW9zX3JlYWRfY2ZnX2R3b3JkCisjZW5kaWYKKwljYWxsCXBjaV9iaW9zX3NlbGVjdF9yZWdpc3RlcgorCW1vdncJJDB4Y2ZjLCAlZHgKKwlpbmwJJWR4LCAlZWF4Citncwltb3ZsCSVlYXgsIE9GRlNfRUNYKCVicCkJICAgIAorCWptcCAJY2xlYXJfY2FycnkKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitwY2lfYmlvc193cml0ZV9jZmdfYnl0ZToKKyNpZmRlZiBQQ0lfQklPU19ERUJVRworY3MJaW5jbAludW1fcGNpX2Jpb3Nfd3JpdGVfY2ZnX2J5dGUKKyNlbmRpZgorCWNhbGwJcGNpX2Jpb3Nfc2VsZWN0X3JlZ2lzdGVyCQorZ3MJbW92dyAJT0ZGU19ESSglYnApLCAlZHgKK2dzCW1vdmIJT0ZGU19DTCglYnApLCAlYWwKKwlhbmR3CSQzLCAlZHgKKwlhZGR3CSQweGNmYywgJWR4CisJb3V0YgklYWwsICVkeAorCWptcCAJY2xlYXJfY2FycnkKKwkKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworcGNpX2Jpb3Nfd3JpdGVfY2ZnX3dvcmQ6CisjaWZkZWYgUENJX0JJT1NfREVCVUcKK2NzCWluY2wJbnVtX3BjaV9iaW9zX3dyaXRlX2NmZ193b3JkCisjZW5kaWYKKwljYWxsCXBjaV9iaW9zX3NlbGVjdF9yZWdpc3RlcgkKK2dzCW1vdncgCU9GRlNfREkoJWJwKSwgJWR4Citncwltb3Z3CU9GRlNfQ1goJWJwKSwgJWF4CisJYW5kdwkkMiwgJWR4CisJYWRkdwkkMHhjZmMsICVkeAorCW91dHcJJWF4LCAlZHgKKwlqbXAgCWNsZWFyX2NhcnJ5CisJCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3BjaV9iaW9zX3dyaXRlX2NmZ19kd29yZDoKKyNpZmRlZiBQQ0lfQklPU19ERUJVRworY3MJaW5jbAludW1fcGNpX2Jpb3Nfd3JpdGVfY2ZnX2R3b3JkCisjZW5kaWYKKwljYWxsCXBjaV9iaW9zX3NlbGVjdF9yZWdpc3RlcgkKK2dzCW1vdmwJT0ZGU19FQ1goJWJwKSwgJWVheAorCW1vdncJJDB4Y2ZjLCAlZHgKKwlvdXRsCSVlYXgsICVkeAorCWptcCAJY2xlYXJfY2FycnkKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitwY2lfYmlvc19nZXRfaXJxX3JvdXRpbmc6CisjaWZkZWYgUENJX0JJT1NfREVCVUcKK2NzCWluY2wJbnVtX3BjaV9iaW9zX2dldF9pcnFfcm91dGluZworI2VuZGlmCisJbW92YgkkMHg4MSwgJWFoICAgICAgICAgICAgICAvKiBmdW5jdGlvbiBub3Qgc3VwcG9ydGVkICovCisJam1wCXNldF9jYXJyeQorCQorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitwY2lfYmlvc19zZXRfaXJxOgorI2lmZGVmIFBDSV9CSU9TX0RFQlVHCitjcwlpbmNsCW51bV9wY2lfYmlvc19zZXRfaXJxCisjZW5kaWYKKwltb3ZiCSQweDgxLCAlYWggICAgICAgICAgICAgIC8qIGZ1bmN0aW9uIG5vdCBzdXBwb3J0ZWQgKi8KKwlqbXAJc2V0X2NhcnJ5CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordW5rbm93bl9mdW5jdGlvbjoKKyNpZmRlZiBQQ0lfQklPU19ERUJVRworY3MJaW5jbAludW1fcGNpX2Jpb3NfdW5rbm93bl9mdW5jdGlvbgorI2VuZGlmCisJbW92YgkkMHg4MSwgJWFoICAgICAgICAgICAgICAvKiBmdW5jdGlvbiBub3Qgc3VwcG9ydGVkICovCisJam1wCXNldF9jYXJyeQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisJCQorcGNpX2Jpb3Nfc2VsZWN0X3JlZ2lzdGVyOgorZ3MJbW92dyAJT0ZGU19CWCglYnApLCAlYngKK2dzCW1vdncgCU9GRlNfREkoJWJwKSwgJWF4CisvKiBkZXN0cm95cyBlYXgsIGR4ICovCitfX3BjaV9iaW9zX3NlbGVjdF9yZWdpc3RlcjogICAgICAgICAgICAgICAvKiBCWCBob2xkcyBkZXZpY2UgaWQsIEFYIGhvbGRzIHJlZ2lzdGVyIGluZGV4ICovCisJcHVzaGwJJWVieAorCWFuZGwJJDB4ZmMsICVlYXgKKwlhbmRsCSQweGZmZmYsICVlYngKKwlzaGxsCSQ4LCAlZWJ4CisJb3JsCSVlYngsICVlYXgKKwlvcmwJJDB4ODAwMDAwMDAsICVlYXgKKwltb3Z3CSQweGNmOCwgJWR4CisJb3V0bAklZWF4LCAlZHgKKwlwb3BsCSVlYngKKwlyZXQKKworCitjbGVhcl9jYXJyeToKK2dzCW1vdncJT0ZGU19GTEFHUyglYnApLCAlYXgKKwlhbmR3CSQweGZmZmUsICVheAkJCS8qIGNsZWFyIGNhcnJ5IC0tIGZ1bmN0aW9uIHN1Y2NlZWRlZCAqLworZ3MJbW92dwklYXgsIE9GRlNfRkxBR1MoJWJwKQorCXhvcncJJWF4LCAlYXgKK2dzCW1vdmIJJWFoLCBPRkZTX0FIKCVicCkJCisJcmV0CisKK3NldF9jYXJyeToKK2dzCW1vdmIJJWFoLCBPRkZTX0FIKCVicCkJCitncwltb3Z3CU9GRlNfRkxBR1MoJWJwKSwgJWF4CisJb3J3CSQxLCAlYXgJCQkJLyogcmV0dXJuIGNhcnJ5IC0tIGZ1bmN0aW9uIG5vdCBzdXBwb3J0ZWQgKi8KK2dzCW1vdncJJWF4LCBPRkZTX0ZMQUdTKCVicCkKKwltb3Z3CSQtMSwgJWF4CisJcmV0CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLmdsb2JsIHBjaV9sYXN0X2J1cworcGNpX2xhc3RfYnVzOgorCS5ieXRlIAkwCisKKyNpZmRlZiBQQ0lfQklPU19ERUJVRworLmdsb2JsIG51bV9wY2lfYmlvc19wcmVzZW50CitudW1fcGNpX2Jpb3NfcHJlc2VudDoKKwkubG9uZyAJMAorCQorLmdsb2JsIG51bV9wY2lfYmlvc19maW5kX2RldmljZQorbnVtX3BjaV9iaW9zX2ZpbmRfZGV2aWNlOgorCS5sb25nIAkwCisKKy5nbG9ibCBudW1fcGNpX2Jpb3NfZmluZF9jbGFzcworbnVtX3BjaV9iaW9zX2ZpbmRfY2xhc3M6CisJLmxvbmcgCTAKKworLmdsb2JsIG51bV9wY2lfYmlvc19nZW5lcmF0ZV9zcGVjaWFsX2N5Y2xlCitudW1fcGNpX2Jpb3NfZ2VuZXJhdGVfc3BlY2lhbF9jeWNsZTogCisJLmxvbmcgMAorCQorLmdsb2JsIG51bV9wY2lfYmlvc19yZWFkX2NmZ19ieXRlCitudW1fcGNpX2Jpb3NfcmVhZF9jZmdfYnl0ZToKKwkubG9uZyAJMAorCisuZ2xvYmwgbnVtX3BjaV9iaW9zX3JlYWRfY2ZnX3dvcmQKK251bV9wY2lfYmlvc19yZWFkX2NmZ193b3JkOgorCS5sb25nIAkwCisKKy5nbG9ibCBudW1fcGNpX2Jpb3NfcmVhZF9jZmdfZHdvcmQKK251bV9wY2lfYmlvc19yZWFkX2NmZ19kd29yZDoKKwkubG9uZyAJMAorCisuZ2xvYmwgbnVtX3BjaV9iaW9zX3dyaXRlX2NmZ19ieXRlCitudW1fcGNpX2Jpb3Nfd3JpdGVfY2ZnX2J5dGU6CisJLmxvbmcgCTAKKworLmdsb2JsIG51bV9wY2lfYmlvc193cml0ZV9jZmdfd29yZAorbnVtX3BjaV9iaW9zX3dyaXRlX2NmZ193b3JkOgorCS5sb25nIAkwCisKKy5nbG9ibCBudW1fcGNpX2Jpb3Nfd3JpdGVfY2ZnX2R3b3JkCitudW1fcGNpX2Jpb3Nfd3JpdGVfY2ZnX2R3b3JkOgorCS5sb25nIAkwCisKKy5nbG9ibCBudW1fcGNpX2Jpb3NfZ2V0X2lycV9yb3V0aW5nCitudW1fcGNpX2Jpb3NfZ2V0X2lycV9yb3V0aW5nOgorCS5sb25nIAkwCisKKy5nbG9ibCBudW1fcGNpX2Jpb3Nfc2V0X2lycQorbnVtX3BjaV9iaW9zX3NldF9pcnE6CisJLmxvbmcgCTAKKworLmdsb2JsIG51bV9wY2lfYmlvc191bmtub3duX2Z1bmN0aW9uCitudW1fcGNpX2Jpb3NfdW5rbm93bl9mdW5jdGlvbjoKKwkubG9uZyAJMAorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJfaTM4Ni9iaW9zX3NldHVwLmMgYi9saWJfaTM4Ni9iaW9zX3NldHVwLmMKaW5kZXggOTQzMTlhZi4uM2RhNzg1OCAxMDA2NDQKLS0tIGEvbGliX2kzODYvYmlvc19zZXR1cC5jCisrKyBiL2xpYl9pMzg2L2Jpb3Nfc2V0dXAuYwpAQCAtMzIsNiArMzIsNyBAQAogICovCiAKICNpbmNsdWRlIDxjb21tb24uaD4KKyNpbmNsdWRlIDxwY2kuaD4KICNpbmNsdWRlIDxhc20vcmVhbG1vZGUuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIApAQCAtNDIsOCArNDMsMTMgQEAKICNkZWZpbmUgQklPU19CQVNFICAgICAgICAoKGNoYXIqKTB4ZjAwMDApCiAjZGVmaW5lIEJJT1NfQ1MgICAgICAgICAgMHhmMDAwCiAKKy8qIHRoZXNlIGFyZSBkZWZpbmVkIGluIGEgMTZiaXQgc2VnbWVudCBhbmQgbmVlZHMKKyAqIHRvIGJlIGFjY2Vzc2VkIHdpdGggdGhlIFJFTE9DXzE2X3h4eHgoKSBtYWNyb3MgYmVsb3cKKyAqLwogZXh0ZXJuIHUxNiByYW1faW5fNjRrYl9jaHVua3M7CiBleHRlcm4gdTE2IGJpb3NfZXF1aXBtZW50OworZXh0ZXJuIHU4ICBwY2lfbGFzdF9idXM7CisKIGV4dGVybiB2b2lkICpybV9pbnQwMDsKIGV4dGVybiB2b2lkICpybV9pbnQwMTsKIGV4dGVybiB2b2lkICpybV9pbnQwMjsKQEAgLTc4LDYgKzg0LDM0IEBACiBleHRlcm4gdm9pZCAqcm1faW50MWY7CiBleHRlcm4gdm9pZCAqcm1fZGVmX2ludDsKIAorZXh0ZXJuIHZvaWQgKnJlYWxtb2RlX3Jlc2V0OworZXh0ZXJuIHZvaWQgKnJlYWxtb2RlX3BjaV9iaW9zX2NhbGxfZW50cnk7CisKK3N0YXRpYyBpbnQgc2V0X2ptcF92ZWN0b3IoaW50IGVudHJ5X3BvaW50LCB2b2lkICp0YXJnZXQpIAoreworCWlmIChlbnRyeV9wb2ludCAmIH4weGZmZmYpIHsKKwkJcmV0dXJuIC0xOworCX0KKwkKKwlpZiAoKCh1MzIpdGFyZ2V0LTB4ZjAwMDApICYgfjB4ZmZmZikgeworCQlyZXR1cm4gLTE7CisJfQorCXByaW50Zigic2V0X2ptcF92ZWN0b3I6IDB4ZjAwMDolMDR4IC0+ICVwXG4iLAorCSAgICAgICBlbnRyeV9wb2ludCwgdGFyZ2V0KTsKKwkKKwkvKiBqbXAgb3Bjb2RlICovCisJd3JpdGViKDB4ZWEsIDB4ZjAwMDAgKyBlbnRyeV9wb2ludCk7CisJCisJLyogb2Zmc2V0ICovCisJd3JpdGV3KCgodTMyKXRhcmdldC0weGYwMDAwKSwgMHhmMDAwMCArIGVudHJ5X3BvaW50ICsgMSk7CisJCisJLyogc2VnbWVudCAqLworCXdyaXRldygweGYwMDAsIDB4ZjAwMDAgKyBlbnRyeV9wb2ludCArIDMpOworCQorCXJldHVybiAwOworfQorCisKIC8qCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBJbnN0YWxsIGFuIGludGVycnVwdCB2ZWN0b3IKQEAgLTk2LDExICsxMzAsMTYgQEAKICNlbmRpZgkKIH0KIAorI2RlZmluZSBSRUxPQ18xNl9MT05HKHNlZywgb2ZmKSAqKHUzMiopKHNlZyA8PCA0IHwgKHUzMikmb2ZmKSAKKyNkZWZpbmUgUkVMT0NfMTZfV09SRChzZWcsIG9mZikgKih1MTYqKShzZWcgPDwgNCB8ICh1MzIpJm9mZikgCisjZGVmaW5lIFJFTE9DXzE2X0JZVEUoc2VnLCBvZmYpICoodTgqKShzZWcgPDwgNCB8ICh1MzIpJm9mZikgCisKIGludCBiaW9zX3NldHVwKHZvaWQpCiB7CiAJREVDTEFSRV9HTE9CQUxfREFUQV9QVFI7CiAJc3RhdGljIGludCBkb25lPTA7CQogCWludCB2ZWN0b3I7CisJc3RydWN0IHBjaV9jb250cm9sbGVyICpwcmlfaG9zZTsKIAkKIAlpZiAoZG9uZSkgewogCQlyZXR1cm4gMDsKQEAgLTE2OSw5ICsyMDgsMjYgQEAKIAlzZXR2ZWN0b3IoMHgxZSwgQklPU19DUywgJnJtX2ludDFlKTsKIAlzZXR2ZWN0b3IoMHgxZiwgQklPU19DUywgJnJtX2ludDFmKTsKIAorCXNldF9qbXBfdmVjdG9yKDB4ZmZmMCwgJnJlYWxtb2RlX3Jlc2V0KTsKKwlzZXRfam1wX3ZlY3RvcigweGZlNmUsICZyZWFsbW9kZV9wY2lfYmlvc19jYWxsX2VudHJ5KTsKKwkKIAkvKiBmaWxsIGluIGRhdGEgYXJlYSAqLwotCXJhbV9pbl82NGtiX2NodW5rcyA9IGdkLT5yYW1fc2l6ZSA+PiAxNjsKLQliaW9zX2VxdWlwbWVudCA9IDA7IC8qIEZpeE1lICovCisJUkVMT0NfMTZfV09SRCgweGYwMDAsIHJhbV9pbl82NGtiX2NodW5rcykgPSBnZC0+cmFtX3NpemUgPj4gMTY7CisJUkVMT0NfMTZfV09SRCgweGYwMDAsIGJpb3NfZXF1aXBtZW50KSA9IDA7IC8qIEZpeE1lICovCisJCisJLyogSWYgd2UgYXNzdW1lIG9ubHkgb25lIFBDSSBob3NlLCB0aGlzIFBDSSBob3NlCisJICogd2lsbCBvd24gUENJIGJ1cyAjMCwgYW5kIHRoZSBsYXN0IFBDSSBidXMgb2YgCisJICogdGhhdCBQQ0kgaG9zZSB3aWxsIGJlIHRoZSBsYXN0IFBDSSBidXMgaW4gdGhlIAorCSAqIHN5c3RlbS4gCisJICogKFRoaXMsIG9mY2F1c2UgYnJlYWsgb24gbXVsdGkgaG9zZSBzeXN0ZW1zLAorCSAqICBidXQgb3VyIFBDSSBCSU9TIG9ubHkgc3VwcG9ydCBvbmUgaG9zZSBhbnl3YXkpIAorCSAqLworCXByaV9ob3NlID0gcGNpX2J1c190b19ob3NlKDApOworCWlmIChOVUxMICE9IHByaV9ob3NlKSB7CisJCS8qIGZpbGwgaW4gbGFzdCBwY2kgYnVzIG51bWJlciBmb3IgdXNlIGJ5IHRoZSByZWFsbW9kZSAKKwkJICogUENJIEJJT1MgKi8KKwkJUkVMT0NfMTZfQllURSgweGYwMDAsIHBjaV9sYXN0X2J1cykgPSBwcmlfaG9zZS0+bGFzdF9idXNubzsKKwl9CiAJCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9saWJfaTM4Ni9ib2FyZC5jIGIvbGliX2kzODYvYm9hcmQuYwppbmRleCAxOTM4NjBhLi44NWQ3ZDdmIDEwMDY0NAotLS0gYS9saWJfaTM4Ni9ib2FyZC5jCisrKyBiL2xpYl9pMzg2L2JvYXJkLmMKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDxzeXNjYWxsLmg+CiAjaW5jbHVkZSA8bmV0Lmg+CiAjaW5jbHVkZSA8aWRlLmg+CisjaW5jbHVkZSA8YXNtL3UtYm9vdC1pMzg2Lmg+CiAKIGV4dGVybiBsb25nIF9pMzg2Ym9vdF9zdGFydDsJICAgIAogZXh0ZXJuIGxvbmcgX2kzODZib290X2VuZDsJICAgIApAQCAtODIsMjEgKzgzLDE0IEBACiB7CiAJREVDTEFSRV9HTE9CQUxfREFUQV9QVFI7CiAgICAgICAgIAotI2lmIDEJCiAJLyogc3RhcnQgbWFsbG9jIGFyZWEgcmlnaHQgYWZ0ZXIgdGhlIHN0YWNrICovCiAJbWVtX21hbGxvY19zdGFydCA9IGkzODZib290X2Jzc19zdGFydCArIAogCQlpMzg2Ym9vdF9ic3Nfc2l6ZSArIENGR19TVEFDS19TSVpFOwogCW1lbV9tYWxsb2Nfc3RhcnQgPSAobWVtX21hbGxvY19zdGFydCszKSZ+MzsKLSNlbHNlCi0JbWVtX21hbGxvY19zdGFydCA9IDB4NDAwMDAwOwotI2VuZGlmCQotI2lmIDEKKwkKIAkvKiBVc2UgYWxsIGF2YWlsYWJsZSBSQU0gZm9yIG1hbGxvYygpICovCiAJbWVtX21hbGxvY19lbmQgPSBnZC0+cmFtX3NpemU7Ci0jZWxzZQkKLQkvKiBVc2Ugb25seSAgQ09ORklHX01BTExPQ19TSVpFIGJ5dGVzIG9mIFJBTSBmb3IgbWFsbG9jKCkgKi8KLQltZW1fbWFsbG9jX2VuZCA9IG1lbV9tYWxsb2Nfc3RhcnQgKyBDT05GSUdfTUFMTE9DX1NJWkU7Ci0jZW5kaWYJCisJCiAJbWVtX21hbGxvY19icmsgPSBtZW1fbWFsbG9jX3N0YXJ0OwogCiAJcmV0dXJuIDA7CkBAIC0xNDksMTAgKzE0MywxMCBAQAogewogCURFQ0xBUkVfR0xPQkFMX0RBVEFfUFRSOwogCi0JdWNoYXIgdG1wWzY0XTsJLyogbG9uZyBlbm91Z2ggZm9yIGVudmlyb25tZW50IHZhcmlhYmxlcyAqLwotCWludCBpID0gZ2V0ZW52X3IgKCJiYXVkcmF0ZSIsIHRtcCwgc2l6ZW9mICh0bXApKTsKKwljaGFyIHRtcFs2NF07CS8qIGxvbmcgZW5vdWdoIGZvciBlbnZpcm9ubWVudCB2YXJpYWJsZXMgKi8KKwlpbnQgaSA9IGdldGVudl9yKCJiYXVkcmF0ZSIsIHRtcCwgNjQpOwogCi0JZ2QtPmJhdWRyYXRlID0gKGkgPiAwKQorCWdkLT5iYXVkcmF0ZSA9IChpICE9IDApCiAJCQk/IChpbnQpIHNpbXBsZV9zdHJ0b3VsICh0bXAsIE5VTEwsIDEwKQogCQkJOiBDT05GSUdfQkFVRFJBVEU7CiAKQEAgLTIzNyw2ICsyMzEsNyBAQAogCW1lbV9tYWxsb2NfaW5pdCwgICAgICAgIC8qIGRlcGVuZGFudCBvbiBkcmFtX2luaXQgKi8KIAlpbnRlcnJ1cHRfaW5pdCwJCS8qIHNldCB1cCBleGNlcHRpb25zICovCiAJdGltZXJfaW5pdCwJCisJc2VyaWFsX2luaXQsCiAJZW52X2luaXQsCQkvKiBpbml0aWFsaXplIGVudmlyb25tZW50ICovCiAJaW5pdF9iYXVkcmF0ZSwJCS8qIGluaXRpYWx6ZSBiYXVkcmF0ZSBzZXR0aW5ncyAqLwogCXNlcmlhbF9pbml0LAkJLyogc2VyaWFsIGNvbW11bmljYXRpb25zIHNldHVwICovCkBAIC0yNjcsNiArMjYyLDcgQEAKIAltZW1zZXQgKGdkLT5iZCwgMCwgc2l6ZW9mIChiZF90KSk7CiAJc2hvd19ib290X3Byb2dyZXNzKDB4MjIpOwogCisJZ2QtPmJhdWRyYXRlID0gIENPTkZJR19CQVVEUkFURTsKIAkKIAlmb3IgKGluaXRfZm5jX3B0ciA9IGluaXRfc2VxdWVuY2UsIGk9MDsgKmluaXRfZm5jX3B0cjsgKytpbml0X2ZuY19wdHIsIGkrKykgewogCQlzaG93X2Jvb3RfcHJvZ3Jlc3MoMHhhMTMwfGkpOwpAQCAtMzIzLDcgKzMxOSw4IEBACiAKIAkvKiBhbGxvY2F0ZSBzeXNjYWxscyB0YWJsZSAoY29uc29sZV9pbml0X3Igd2lsbCBmaWxsIGl0IGluICovCiAJc3lzY2FsbF90YmwgPSAodm9pZCAqKikgbWFsbG9jIChOUl9TWVNDQUxMUyAqIHNpemVvZiAodm9pZCAqKSk7Ci0KKwltZW1zZXQoc3lzY2FsbF90YmwsIDAsIE5SX1NZU0NBTExTICogc2l6ZW9mICh2b2lkICopKTsKKwkKIAkvKiBJbml0aWFsaXplIHRoZSBjb25zb2xlIChhZnRlciB0aGUgcmVsb2NhdGlvbiBhbmQgZGV2aWNlcyBpbml0KSAqLwogCWNvbnNvbGVfaW5pdF9yKCk7CiAJc3lzY2FsbHNfaW5pdCgpOwpAQCAtMzU1LDcgKzM1Miw3IEBACiAjZW5kaWYKIAogCS8qIGVuYWJsZSBleGNlcHRpb25zICovCi0JZW5hYmxlX2ludGVycnVwdHMgKCk7CisJZW5hYmxlX2ludGVycnVwdHMoKTsKIAlzaG93X2Jvb3RfcHJvZ3Jlc3MoMHgyOCk7CiAKIAkvKiBNdXN0IGhhcHBlbiBhZnRlciBpbnRlcnJ1cHRzIGFyZSBpbml0aWFsaXplZCBzaW5jZQpAQCAtMzY5LDcgKzM2Niw3IEBACiAJc3RhdHVzX2xlZF9zZXQgKFNUQVRVU19MRURfQk9PVCwgU1RBVFVTX0xFRF9CTElOS0lORyk7CiAjZW5kaWYKIAotCXVkZWxheSAoMjApOworCXVkZWxheSgyMCk7CiAKIAlzZXRfdGltZXIgKDApOwogCkBAIC0zOTksNyArMzk2LDcgQEAKIAogI2lmIChDT05GSUdfQ09NTUFORFMgJiBDRkdfQ01EX0RPQykKIAlXQVRDSERPR19SRVNFVCgpOwotCXB1dHMgKCJET0M6ICAgIik7CisJcHV0cygiRE9DOiAgICIpOwogCWRvY19pbml0KCk7CiAjZW5kaWYKIApAQCAtNDI4LDEyICs0MjUsMTMgQEAKIAkJYm9hcmRfcG93ZXJvZmYoKTsKIAl9CiAjZW5kaWYKLQorCQorCQogCXNob3dfYm9vdF9wcm9ncmVzcygweDI5KTsKIAkKIAkvKiBtYWluX2xvb3AoKSBjYW4gcmV0dXJuIHRvIHJldHJ5IGF1dG9ib290LCBpZiBzbyBqdXN0IHJ1biBpdCBhZ2Fpbi4gKi8KIAlmb3IgKDs7KSB7Ci0JCW1haW5fbG9vcCAoKTsKKwkJbWFpbl9sb29wKCk7CiAJfQogCiAJLyogTk9UUkVBQ0hFRCAtIG5vIHdheSBvdXQgb2YgY29tbWFuZCBsb29wIGV4Y2VwdCBib290aW5nICovCmRpZmYgLS1naXQgYS9saWJfaTM4Ni9wY2kuYyBiL2xpYl9pMzg2L3BjaS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjZDFkMjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJfaTM4Ni9wY2kuYwpAQCAtMCwwICsxLDE1NiBAQAorLyoKKyAqIChDKSBDb3B5cmlnaHQgMjAwMgorICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIsIGRhbmllbEBvbWljcm9uLnNlCisgKgorICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKKyAqIHByb2plY3QuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCisgKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwKKyAqIE1BIDAyMTExLTEzMDcgVVNBCisgKi8KKworI2luY2x1ZGUgPGNvbW1vbi5oPiAKKyNpbmNsdWRlIDxwY2kuaD4gCisjaW5jbHVkZSA8YXNtL2lvLmg+IAorI2luY2x1ZGUgPGFzbS9wY2kuaD4gCisKKyNpZmRlZiBDT05GSUdfUENJCisjdW5kZWYgUENJX1JPTV9TQ0FOX1ZFUkJPU0UKKworaW50IHBjaV9zaGFkb3dfcm9tKHBjaV9kZXZfdCBkZXYsIHVuc2lnbmVkIGNoYXIgKmRlc3QpIAoreworCXN0cnVjdCBwY2lfY29udHJvbGxlciAqaG9zZTsKKwlpbnQgcmVzID0gLTE7CisJaW50IGk7CisJCisJdTMyIHJvbV9hZGRyOworCXUzMiBhZGRyX3JlZzsKKwl1MzIgc2l6ZTsKKwkKKwl1MTYgdmVuZG9yOworCXUxNiBkZXZpY2U7CisJdTMyIGNsYXNzX2NvZGU7CisKKwlob3NlID0gcGNpX2J1c190b19ob3NlKFBDSV9CVVMoZGV2KSk7CisjaWYgMAorCXByaW50ZigicGNpX3NoYWRvd19yb20oKSBhc2tlZCB0byBzaGFkb3cgZGV2aWNlICV4IHRvICV4XG4iLAorCSAgICAgICBkZXYsICh1MzIpZGVzdCk7CisjZW5kaWYJCisJcGNpX3JlYWRfY29uZmlnX3dvcmQoZGV2LCBQQ0lfVkVORE9SX0lELCAmdmVuZG9yKTsKKwlwY2lfcmVhZF9jb25maWdfd29yZChkZXYsIFBDSV9ERVZJQ0VfSUQsICZkZXZpY2UpOworCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIFBDSV9DTEFTU19SRVZJU0lPTiwgJmNsYXNzX2NvZGUpOworCQorIAljbGFzc19jb2RlICY9IDB4ZmZmZmZmMDA7CisJY2xhc3NfY29kZSA+Pj0gODsKKworI2lmIDAJCisJcHJpbnRmKCJQQ0kgSGVhZGVyIFZlbmRvciAlMDR4IGRldmljZSAlMDR4IGNsYXNzICUwNnhcbiIsCisJICAgICAgIHZlbmRvciwgZGV2aWNlLCBjbGFzc19jb2RlKTsKKyNlbmRpZgkKKwkvKiBFbmFibGUgdGhlIHJvbSBhZGRlc3MgZGVjb2RlciAqLworCXBjaV93cml0ZV9jb25maWdfZHdvcmQoZGV2LCBQQ0lfUk9NX0FERFJFU1MsIFBDSV9ST01fQUREUkVTU19NQVNLKTsKKwlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCBQQ0lfUk9NX0FERFJFU1MsICZhZGRyX3JlZyk7CisKKwlpZiAoIWFkZHJfcmVnKSB7CisJCS8qIHJlZ2lzdGVyIHVuaW1wbGVtZW50ZWQgKi8KKwkJcHJpbnRmKCJwY2lfY2hhZG93X3JvbTogZGV2aWNlIGRvIG5vdCBzZWVtIHRvIGhhdmUgYSByb21cbiIpOworCQlyZXR1cm4gLTE7CisJfQorCQorCXNpemUgPSAofihhZGRyX3JlZyZQQ0lfUk9NX0FERFJFU1NfTUFTSykpKzE7ICAKKwkKKyNpZiAwCQorCXByaW50ZigiUk9NIGlzICVkIGJ5dGVzXG4iLCBzaXplKTsKKyNlbmRpZgkKKwlyb21fYWRkciA9IHBjaV9nZXRfcm9tX3dpbmRvdyhob3NlLCBzaXplKTsKKyNpZiAwCQorCXByaW50ZigiUk9NIG1hcHBlZCBhdCAleCBcbiIsIHJvbV9hZGRyKTsKKyNlbmRpZgkKKwlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgUENJX1JPTV9BRERSRVNTLCAKKwkJCSAgICAgICBwY2lfcGh5c190b19tZW0oZGV2LCByb21fYWRkcikKKwkJCSAgICAgICB8UENJX1JPTV9BRERSRVNTX0VOQUJMRSk7CisKKworCQorCWZvciAoaT1yb21fYWRkcjtpPHJvbV9hZGRyK3NpemU7IGkrPTUxMikgeworCQkKKwkJCisJCWlmIChyZWFkdyhpKSA9PSAweGFhNTUpIHsKKwkJCXUzMiBwY2lfZGF0YTsKKyNpZmRlZiBQQ0lfUk9NX1NDQU5fVkVSQk9TRQorCQkJcHJpbnRmKCJST00gc2lnbmF0dXJlIGZvdW5kXG4iKTsKKyNlbmRpZgkJCQorCQkJcGNpX2RhdGEgPSByZWFkdygweDE4K2kpOworCQkJcGNpX2RhdGEgKz0gaTsKKwkJCQorCQkJaWYgKDA9PW1lbWNtcCgodm9pZCopcGNpX2RhdGEsICJQQ0lSIiwgNCkpIHsKKyNpZmRlZiBQQ0lfUk9NX1NDQU5fVkVSQk9TRQkJCQkKKwkJCQlwcmludGYoIkZvdW50IFBDSSByb20gaW1hZ2UgYXQgb2Zmc2V0ICVkXG4iLCBpLXJvbV9hZGRyKTsKKwkJCQlwcmludGYoIlZlbmRvciAlMDR4IGRldmljZSAlMDR4IGNsYXNzICUwNnhcbiIsCisJCQkJICAgICAgIHJlYWR3KHBjaV9kYXRhKzQpLCByZWFkdyhwY2lfZGF0YSs2KSwKKwkJCQkgICAgICAgcmVhZGwocGNpX2RhdGErMHgwZCkmMHhmZmZmZmYpOworCQkJCXByaW50ZigiJXNcbiIsIAorCQkJCSAgICAgICAocmVhZHcocGNpX2RhdGErMHgxNSkgJjB4ODApPworCQkJCSAgICAgICAiTGFzdCBpbWFnZSI6Ik1vcmUgaW1hZ2VzIGZvbGxvdyIpOworCQkJCXN3aXRjaCAJKHJlYWRiKHBjaV9kYXRhKzB4MTQpKSB7CisJCQkJY2FzZSAwOgorCQkJCQlwcmludGYoIlg4NiBjb2RlXG4iKTsKKwkJCQkJYnJlYWs7CisJCQkJY2FzZSAxOgorCQkJCQlwcmludGYoIk9wZW5maXJtd2FyZSBjb2RlXG4iKTsKKwkJCQkJYnJlYWs7CisJCQkJY2FzZSAyOgorCQkJCQlwcmludGYoIlBBUklTQyBjb2RlXG4iKTsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJCXByaW50ZigiSW1hZ2Ugc2l6ZSAlZFxuIiwgcmVhZHcocGNpX2RhdGErMHgxMCkgKiA1MTIpOworI2VuZGlmCQkJCQorCQkJCS8qIEZpeE1lOiBJIHRoaW5rIHdlIHNob3VsZCBjb21wYXJlIHRoZSBjbGFzcyBjb2RlCisJCQkJICogYnl0ZXMgYXMgd2VsbCBidXQgSSBoYXZlIG5vIHJlZmVyZW5jZSBvbiB0aGUKKwkJCQkgKiBleGFjdCBvcmRlciBvZiB0aGVzZSBieXRlcyBpbiB0aGUgUENJIFJPTSBoZWFkZXIgKi8KKwkJCQlpZiAocmVhZHcocGNpX2RhdGErNCkgPT0gdmVuZG9yICYmIAorCQkJCSAgICByZWFkdyhwY2lfZGF0YSs2KSA9PSBkZXZpY2UgJiYKKwkJCQkgICAgLyogKHJlYWRsKHBjaV9kYXRhKzB4MGQpJjB4ZmZmZmZmKSA9PSBjbGFzc19jb2RlICYmICovCisJCQkJICAgIHJlYWRiKHBjaV9kYXRhKzB4MTQpID09IDAgLyogeDg2IGNvZGUgaW1hZ2UgKi8gKSB7CisjaWZkZWYgUENJX1JPTV9TQ0FOX1ZFUkJPU0UJCQkJCQorCQkJCQlwcmludGYoIlN1aXRhYmxlIFJPTSBpbWFnZSBmb3VuZCwgY29weWluZ1xuIik7CisjZW5kaWYJCQkJCQorCQkJCQltZW1tb3ZlKGRlc3QsICh2b2lkKilyb21fYWRkciwgcmVhZHcocGNpX2RhdGErMHgxMCkgKiA1MTIpOworCQkJCQlyZXMgPSAwOworCQkJCQlicmVhazsKKwkJCQkJCisJCQkJfQorCQkJCWlmIChyZWFkdyhwY2lfZGF0YSsweDE1KSAmMHg4MCkgeworCQkJCQlicmVhazsKKwkJCQl9CisJCQl9CisJCX0KKwkJCisJfQorCQorI2lmZGVmIFBDSV9ST01fU0NBTl9WRVJCT1NFCisJaWYgKHJlcykgeworCQlwcmludGYoIk5vIHN1aXRhYmxlIGltYWdlIGZvdW5kXG4iKTsKKwl9CisjZW5kaWYJCisJLyogZGlzYWJsZSBQQVIgcmVnaXN0ZXIgYW5kIFBDSSBkZXZpY2UgUk9NIGFkZHJlc3MgZGV2b2NlciAqLworCXBjaV9yZW1vdmVfcm9tX3dpbmRvdyhob3NlLCByb21fYWRkcik7CisJICAJCisJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIFBDSV9ST01fQUREUkVTUywgMCk7CisKKwlyZXR1cm4gcmVzOworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYl9pMzg2L3JlYWxtb2RlLmMgYi9saWJfaTM4Ni9yZWFsbW9kZS5jCmluZGV4IDI3ZDQ2OTMuLmQ3YmI4MWMgMTAwNjQ0Ci0tLSBhL2xpYl9pMzg2L3JlYWxtb2RlLmMKKysrIGIvbGliX2kzODYvcmVhbG1vZGUuYwpAQCAtMzMsNyArMzMsMjEgQEAKIAogZXh0ZXJuIGNoYXIgcmVhbG1vZGVfZW50ZXI7CiAKLQoraW50IHJlYWxtb2RlX3NldHVwKHZvaWQpCit7CisJLyogY29weSB0aGUgcmVhbG1vZGUgc3dpdGNoIGNvZGUgKi8KKwlpZiAoaTM4NmJvb3RfcmVhbG1vZGVfc2l6ZSA+IChSRUFMTU9ERV9NQUlMQk9YLVJFQUxNT0RFX0JBU0UpKSB7CisJCXByaW50ZigicmVhbG1vZGUgc3dpdGNoIHRvbyBsYXJnZSAoJWxkIGJ5dGVzLCBtYXggaXMgJWQpXG4iLCAKKwkJICAgICAgIGkzODZib290X3JlYWxtb2RlX3NpemUsIChSRUFMTU9ERV9NQUlMQk9YLVJFQUxNT0RFX0JBU0UpKTsKKwkJcmV0dXJuIC0xOworCX0KKwkKKwltZW1jcHkoUkVBTE1PREVfQkFTRSwgKHZvaWQqKWkzODZib290X3JlYWxtb2RlLCBpMzg2Ym9vdF9yZWFsbW9kZV9zaXplKTsKKwlhc20oIndiaW52ZFxuIik7CisJCisJcmV0dXJuIDA7Cit9CisJCQogaW50IGVudGVyX3JlYWxtb2RlKHUxNiBzZWcsIHUxNiBvZmYsIHN0cnVjdCBwdF9yZWdzICppbiwgc3RydWN0IHB0X3JlZ3MgKm91dCkKIHsKIAkKQEAgLTQxLDE3ICs1NSwxMSBAQAogCWlmIChiaW9zX3NldHVwKCkpIHsKIAkJcmV0dXJuIC0xOwogCX0KLQkJCi0JLyogY29weSB0aGUgcmVhbG1vZGUgc3dpdGNoIGNvZGUgKi8KLQlpZiAoaTM4NmJvb3RfcmVhbG1vZGVfc2l6ZSA+IChSRUFMTU9ERV9NQUlMQk9YLVJFQUxNT0RFX0JBU0UpKSB7Ci0JCXByaW50ZigicmVhbG1vZGUgc3dpdGNoIHRvbyBsYXJnZSAoJWxkIGJ5dGVzLCBtYXggaXMgJWQpXG4iLCAKLQkJICAgICAgIGkzODZib290X3JlYWxtb2RlX3NpemUsIChpbnQpKFJFQUxNT0RFX01BSUxCT1gtUkVBTE1PREVfQkFTRSkpOworCQorCWlmIChyZWFsbW9kZV9zZXR1cCgpKSB7CiAJCXJldHVybiAtMTsKIAl9Ci0JCi0JbWVtY3B5KFJFQUxNT0RFX0JBU0UsICh2b2lkKilpMzg2Ym9vdF9yZWFsbW9kZSwgaTM4NmJvb3RfcmVhbG1vZGVfc2l6ZSk7Ci0JCQotCQorCQkgICAgICAgCQogCWluLT5laXAgPSBvZmY7CiAJaW4tPnhjcyA9IHNlZzsKIAlpZiAoMz4oaW4tPmVzcCAmIDB4ZmZmZikpIHsKQEAgLTU5LDEyICs2NywzMCBAQAogCX0KIAkKIAltZW1jcHkoUkVBTE1PREVfTUFJTEJPWCwgaW4sIHNpemVvZihzdHJ1Y3QgcHRfcmVncykpOworCWFzbSgid2JpbnZkXG4iKTsKIAkKIAlfX2FzbV9fIHZvbGF0aWxlICggCiAJCSAibGNhbGwgJDB4MjAsJTBcbiIgIDogOiAgImkiICgmcmVhbG1vZGVfZW50ZXIpICk7CiAKKwlhc20oIndiaW52ZFxuIik7CiAJbWVtY3B5KG91dCwgUkVBTE1PREVfTUFJTEJPWCwgc2l6ZW9mKHN0cnVjdCBwdF9yZWdzKSk7CiAKIAlyZXR1cm4gb3V0LT5lYXg7CiB9CiAKKworLyogVGhpcyBjb2RlIGlzIHN1cHBvc2VkIHRvIGFjY2VzcyBhIHJlYWxtb2RlIGludGVycnVwdAorICogaXQgZG9lcyBjdXJyZW50bHkgbm90IHdvcmsgZm9yIG1lICovCitpbnQgZW50ZXJfcmVhbG1vZGVfaW50KHU4IGx2bCwgc3RydWN0IHB0X3JlZ3MgKmluLCBzdHJ1Y3QgcHRfcmVncyAqb3V0KQoreworCS8qIHBsYWNlIHR3byBpbnN0cnVjdGlvbnMgYXQgMHg3MDAgKi8KKwl3cml0ZWIoMHhjZCwgMHg3MDApOyAgLyogaW50ICRsdmwgKi8KKwl3cml0ZWIobHZsLCAweDcwMSk7CisJd3JpdGViKDB4Y2IsIDB4NzAyKTsgIC8qIGxyZXQgKi8KKwlhc20oIndiaW52ZFxuIik7CisgICAgICAKKwllbnRlcl9yZWFsbW9kZSgweDAwLCAweDcwMCwgaW4sIG91dCk7CQorCQorCXJldHVybiBvdXQtPmVmbGFncyYxOworfQorCmRpZmYgLS1naXQgYS9saWJfaTM4Ni9yZWFsbW9kZV9zd2l0Y2guUyBiL2xpYl9pMzg2L3JlYWxtb2RlX3N3aXRjaC5TCmluZGV4IDlmMjEyYzIuLjE3YWRjYmQgMTAwNjQ0Ci0tLSBhL2xpYl9pMzg2L3JlYWxtb2RlX3N3aXRjaC5TCisrKyBiL2xpYl9pMzg2L3JlYWxtb2RlX3N3aXRjaC5TCkBAIC01MCw3ICs1MCw2IEBACiAKIC5zZWN0aW9uIC5yZWFsbW9kZSwgImF4IgogLmNvZGUxNgotCiAJCQkJCQkvKiAxNmJpdCBwcm90ZWN0ZWQgbW9kZSBjb2RlIGhlcmUgKi8KIC5nbG9ibCByZWFsbW9kZV9lbnRlcgogcmVhbG1vZGVfZW50ZXI6CmRpZmYgLS1naXQgYS9saWJfaTM4Ni92aWRlby5jIGIvbGliX2kzODYvdmlkZW8uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NzYwMjJlCi0tLSAvZGV2L251bGwKKysrIGIvbGliX2kzODYvdmlkZW8uYwpAQCAtMCwwICsxLDIzOCBAQAorLyoKKyAqIChDKSBDb3B5cmlnaHQgMjAwMgorICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIsIGRhbmllbEBvbWljcm9uLnNlCisgKgorICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKKyAqIHByb2plY3QuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCisgKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwKKyAqIE1BIDAyMTExLTEzMDcgVVNBCisgKi8KKworI2luY2x1ZGUgPGNvbW1vbi5oPiAKKyNpbmNsdWRlIDxwY2kuaD4gCisjaW5jbHVkZSA8ZGV2aWNlcy5oPgorI2luY2x1ZGUgPGk4MDQyLmg+CisjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPiAKKyNpbmNsdWRlIDxhc20vcmVhbG1vZGUuaD4gCisjaW5jbHVkZSA8YXNtL2lvLmg+IAorI2luY2x1ZGUgPGFzbS9wY2kuaD4gCisKKworLyogYmFzaWMgdGV4dG1vZGUgSS9PIGZyb20gbGludXgga2VybmVsICovCitzdGF0aWMgY2hhciAqdmlkbWVtID0gKGNoYXIgKikweGI4MDAwOworc3RhdGljIGludCB2aWRwb3J0Oworc3RhdGljIGludCBsaW5lcywgY29sczsKK3N0YXRpYyBpbnQgb3JpZ194LCBvcmlnX3k7CisKK3N0YXRpYyB2b2lkIGJlZXAoaW50IGR1cikKK3sKKwlpbnQgaTsKKwkKKwlvdXRiX3AoMywgMHg2MSk7CisJZm9yIChpPTA7aTwxMCpkdXI7aSsrKSB7CisJCXVkZWxheSgxMDAwKTsKKwl9CisJb3V0Yl9wKDAsIDB4NjEpOworfQorCitzdGF0aWMgdm9pZCBzY3JvbGwodm9pZCkKK3sKKwlpbnQgaTsKKworCW1lbWNweSAoIHZpZG1lbSwgdmlkbWVtICsgY29scyAqIDIsICggbGluZXMgLSAxICkgKiBjb2xzICogMiApOworCWZvciAoIGkgPSAoIGxpbmVzIC0gMSApICogY29scyAqIDI7IGkgPCBsaW5lcyAqIGNvbHMgKiAyOyBpICs9IDIgKQorCQl2aWRtZW1baV0gPSAnICc7Cit9CisKK3N0YXRpYyB2b2lkIF9fdmlkZW9fcHV0Yyhjb25zdCBjaGFyIGMsIGludCAqeCwgaW50ICp5KQoreworCWlmIChjID09ICdcbicpIHsKKyAJCSgqeCkgPSAwOworCQlpZiAoICsrKCp5KSA+PSBsaW5lcyApIHsKKwkJCXNjcm9sbCgpOworCQkJKCp5KS0tOworCQl9CisJfSBlbHNlIGlmIChjID09ICdcYicpIHsgCisJCWlmICgoKngpICE9IDApIHsKKwkJCS0tKCp4KTsKKwkJCXZpZG1lbSBbICggKCp4KSArIGNvbHMgKiAoKnkpICkgKiAyIF0gPSAnICc7IAorCQl9CisgCX0gZWxzZSBpZiAoYyA9PSAnXHInKSB7IAorCQkoKngpID0gMDsKKwkJCisJfSBlbHNlIGlmIChjID09ICdcYScpIHsgCisJCWJlZXAoMyk7CisJCQorCX0gZWxzZSBpZiAoYyA9PSAnXHQnKSB7IAorCQlfX3ZpZGVvX3B1dGMoJyAnLCB4LCB5KTsKKwkJX192aWRlb19wdXRjKCcgJywgeCwgeSk7CisJCV9fdmlkZW9fcHV0YygnICcsIHgsIHkpOworCQlfX3ZpZGVvX3B1dGMoJyAnLCB4LCB5KTsKKwkJX192aWRlb19wdXRjKCcgJywgeCwgeSk7CisJCV9fdmlkZW9fcHV0YygnICcsIHgsIHkpOworCQlfX3ZpZGVvX3B1dGMoJyAnLCB4LCB5KTsKKwkJX192aWRlb19wdXRjKCcgJywgeCwgeSk7CisJfSBlbHNlIGlmIChjID09ICdcdicpIHsgCisJCXN3aXRjaCAoKCp4KSAlIDgpIHsKKwkJY2FzZSAwOgorCQkJX192aWRlb19wdXRjKCcgJywgeCwgeSk7CisJCWNhc2UgNzoKKwkJCV9fdmlkZW9fcHV0YygnICcsIHgsIHkpOworCQljYXNlIDY6CisJCQlfX3ZpZGVvX3B1dGMoJyAnLCB4LCB5KTsKKwkJY2FzZSA1OgorCQkJX192aWRlb19wdXRjKCcgJywgeCwgeSk7CisJCWNhc2UgNDoKKwkJCV9fdmlkZW9fcHV0YygnICcsIHgsIHkpOworCQljYXNlIDM6CisJCQlfX3ZpZGVvX3B1dGMoJyAnLCB4LCB5KTsKKwkJY2FzZSAyOgorCQkJX192aWRlb19wdXRjKCcgJywgeCwgeSk7CisJCWNhc2UgMToKKwkJCV9fdmlkZW9fcHV0YygnICcsIHgsIHkpOworCQl9CisJfSBlbHNlIGlmIChjID09ICdcZicpIHsgCisJCWludCBpOworCQlmb3IgKGk9MDtpPGxpbmVzKmNvbHMqMjtpKz0yKSB7CisJCQl2aWRtZW1baV0gPSAwOworCQl9CisJCSgqeCkgPSAwOworCQkoKnkpID0gMDsKKwl9IGVsc2UgeworCQl2aWRtZW0gWyAoICgqeCkgKyBjb2xzICogKCp5KSApICogMiBdID0gYzsgCisJCWlmICggKysoKngpID49IGNvbHMgKSB7CisJCQkoKngpID0gMDsKKwkJCWlmICggKysoKnkpID49IGxpbmVzICkgeworCQkJCXNjcm9sbCgpOworCQkJCSgqeSktLTsKKwkJCX0KKwkJfQorCX0KK30KKworc3RhdGljIHZvaWQgdmlkZW9fcHV0Yyhjb25zdCBjaGFyIGMpCit7CisJaW50IHgseSxwb3M7CisJCisJeCA9IG9yaWdfeDsKKwl5ID0gb3JpZ195OworCQorCV9fdmlkZW9fcHV0YyhjLCAmeCwgJnkpOworCisJb3JpZ194ID0geDsKKwlvcmlnX3kgPSB5OworCQorCXBvcyA9ICh4ICsgY29scyAqIHkpICogMjsJLyogVXBkYXRlIGN1cnNvciBwb3NpdGlvbiAqLworCW91dGJfcCgxNCwgdmlkcG9ydCk7CisJb3V0Yl9wKDB4ZmYgJiAocG9zID4+IDkpLCB2aWRwb3J0KzEpOworCW91dGJfcCgxNSwgdmlkcG9ydCk7CisJb3V0Yl9wKDB4ZmYgJiAocG9zID4+IDEpLCB2aWRwb3J0KzEpOworfQorCitzdGF0aWMgdm9pZCB2aWRlb19wdXRzKGNvbnN0IGNoYXIgKnMpCit7CisJaW50IHgseSxwb3M7CisJY2hhciBjOworCisJeCA9IG9yaWdfeDsKKwl5ID0gb3JpZ195OworCisJd2hpbGUgKCAoIGMgPSAqcysrICkgIT0gJ1wwJyApIHsKKwkJX192aWRlb19wdXRjKGMsICZ4LCAmeSk7CisJfQorCisJb3JpZ194ID0geDsKKwlvcmlnX3kgPSB5OworCisJcG9zID0gKHggKyBjb2xzICogeSkgKiAyOwkvKiBVcGRhdGUgY3Vyc29yIHBvc2l0aW9uICovCisJb3V0Yl9wKDE0LCB2aWRwb3J0KTsKKwlvdXRiX3AoMHhmZiAmIChwb3MgPj4gOSksIHZpZHBvcnQrMSk7CisJb3V0Yl9wKDE1LCB2aWRwb3J0KTsKKwlvdXRiX3AoMHhmZiAmIChwb3MgPj4gMSksIHZpZHBvcnQrMSk7Cit9CisKK2ludCB2aWRlb19pbml0KHZvaWQpCit7CisJdTE2IHBvczsKKwkKKwlzdGF0aWMgZGV2aWNlX3QgdmdhX2RldjsKKwlzdGF0aWMgZGV2aWNlX3Qga2JkX2RldjsKKwkKKwl2aWRtZW0gPSAoY2hhciAqKSAweGI4MDAwOworCXZpZHBvcnQgPSAweDNkNDsKKworCWxpbmVzID0gMjU7CisJY29scyA9IDgwOworCQorCW91dGJfcCgxNCwgdmlkcG9ydCk7CisJcG9zID0gaW5iX3AodmlkcG9ydCsxKTsKKwlwb3MgPDw9IDg7CisJb3V0Yl9wKDE1LCB2aWRwb3J0KTsKKwlwb3MgfD0gaW5iX3AodmlkcG9ydCsxKTsKKwkKKwlvcmlnX3ggPSBwb3MlY29sczsKKwlvcmlnX3kgPSBwb3MvY29sczsKKworI2lmIDAJCisJcHJpbnRmKCJwb3MgJXggJWQgJWRcbiIsIHBvcywgb3JpZ194LCBvcmlnX3kpOworI2VuZGlmCQorCWlmIChvcmlnX3kgPiBsaW5lcykgeworCQlvcmlnX3ggPSBvcmlnX3kgPTA7CisJfQorCQorCQorCW1lbXNldCgmdmdhX2RldiwgMCwgc2l6ZW9mKHZnYV9kZXYpKTsKKyAgICAgICAgc3RyY3B5KHZnYV9kZXYubmFtZSwgInZnYSIpOworICAgICAgICB2Z2FfZGV2LmV4dCAgID0gMDsgCisgICAgICAgIHZnYV9kZXYuZmxhZ3MgPSBERVZfRkxBR1NfT1VUUFVUIHwgREVWX0ZMQUdTX1NZU1RFTTsKKyAgICAgICAgdmdhX2Rldi5wdXRjICA9IHZpZGVvX3B1dGM7ICAgICAgICAvKiAncHV0YycgZnVuY3Rpb24gKi8KKyAgICAgICAgdmdhX2Rldi5wdXRzICA9IHZpZGVvX3B1dHM7ICAgICAgICAvKiAncHV0cycgZnVuY3Rpb24gKi8KKyAgICAgICAgdmdhX2Rldi50c3RjICA9IE5VTEw7ICAgICAgICAgICAgICAvKiAndHN0YycgZnVuY3Rpb24gKi8KKyAgICAgICAgdmdhX2Rldi5nZXRjICA9IE5VTEw7ICAgICAgICAgICAgICAvKiAnZ2V0YycgZnVuY3Rpb24gKi8KKworICAgICAgICBpZiAoZGV2aWNlX3JlZ2lzdGVyKCZ2Z2FfZGV2KSA9PSAwKSB7CisgICAgICAgICAgICByZXR1cm4gMTsKKwl9CisJCisJaWYgKGk4MDQyX2tiZF9pbml0KCkpIHsKKwkJcmV0dXJuIDE7CisJfQorCQorCW1lbXNldCgma2JkX2RldiwgMCwgc2l6ZW9mKGtiZF9kZXYpKTsKKyAgICAgICAgc3RyY3B5KGtiZF9kZXYubmFtZSwgImtiZCIpOworICAgICAgICBrYmRfZGV2LmV4dCAgID0gMDsgCisgICAgICAgIGtiZF9kZXYuZmxhZ3MgPSBERVZfRkxBR1NfSU5QVVQgfCBERVZfRkxBR1NfU1lTVEVNOworICAgICAgICBrYmRfZGV2LnB1dGMgID0gTlVMTDsgICAgICAgIC8qICdwdXRjJyBmdW5jdGlvbiAqLworICAgICAgICBrYmRfZGV2LnB1dHMgID0gTlVMTDsgICAgICAgIC8qICdwdXRzJyBmdW5jdGlvbiAqLworICAgICAgICBrYmRfZGV2LnRzdGMgID0gaTgwNDJfdHN0YzsgIC8qICd0c3RjJyBmdW5jdGlvbiAqLworICAgICAgICBrYmRfZGV2LmdldGMgID0gaTgwNDJfZ2V0YzsgIC8qICdnZXRjJyBmdW5jdGlvbiAqLworCisgICAgICAgIGlmIChkZXZpY2VfcmVnaXN0ZXIoJmtiZF9kZXYpID09IDApIHsKKyAgICAgICAgICAgIHJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKworCitpbnQgZHJ2X3ZpZGVvX2luaXQodm9pZCkgCit7CisJaWYgKHZpZGVvX2Jpb3NfaW5pdCgpKSB7CisJCXJldHVybiAxOworCX0KKwkKKwlyZXR1cm4gdmlkZW9faW5pdCgpOwkKK30KKyAgICAgIApkaWZmIC0tZ2l0IGEvbGliX2kzODYvdmlkZW9fYmlvcy5jIGIvbGliX2kzODYvdmlkZW9fYmlvcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5NzA5YjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJfaTM4Ni92aWRlb19iaW9zLmMKQEAgLTAsMCArMSwyMjEgQEAKKy8qCisgKiAoQykgQ29weXJpZ2h0IDIwMDIKKyAqIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCLCBkYW5pZWxAb21pY3Jvbi5zZQorICoKKyAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCisgKiBwcm9qZWN0LgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sCisgKiBNQSAwMjExMS0xMzA3IFVTQQorICovCisKKyNpbmNsdWRlIDxjb21tb24uaD4gCisjaW5jbHVkZSA8cGNpLmg+IAorI2luY2x1ZGUgPG1hbGxvYy5oPiAKKyNpbmNsdWRlIDxhc20vcHRyYWNlLmg+IAorI2luY2x1ZGUgPGFzbS9yZWFsbW9kZS5oPiAKKyNpbmNsdWRlIDxhc20vaW8uaD4gCisjaW5jbHVkZSA8YXNtL3BjaS5oPiAKKworI3VuZGVmIFBDSV9CSU9TX0RFQlVHCisjdW5kZWYgVkdBX0JJT1NfREVCVUcKKworI2lmZGVmCVZHQV9CSU9TX0RFQlVHCisjZGVmaW5lCVBSSU5URihmbXQsYXJncy4uLikJcHJpbnRmIChmbXQgLCMjYXJncykKKyNlbHNlCisjZGVmaW5lIFBSSU5URihmbXQsYXJncy4uLikKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX1BDSQorCisjaWZkZWYgUENJX0JJT1NfREVCVUcKKyNkZWZpbmUgUkVMT0NfMTYoc2VnLCBvZmYpICoodTMyKikoc2VnIDw8IDQgfCAodTMyKSZvZmYpIAorZXh0ZXJuIHUzMiBudW1fcGNpX2Jpb3NfcHJlc2VudDsKK2V4dGVybiB1MzIgbnVtX3BjaV9iaW9zX2ZpbmRfZGV2aWNlOworZXh0ZXJuIHUzMiBudW1fcGNpX2Jpb3NfZmluZF9jbGFzczsKK2V4dGVybiB1MzIgbnVtX3BjaV9iaW9zX2dlbmVyYXRlX3NwZWNpYWxfY3ljbGU7CitleHRlcm4gdTMyIG51bV9wY2lfYmlvc19yZWFkX2NmZ19ieXRlOworZXh0ZXJuIHUzMiBudW1fcGNpX2Jpb3NfcmVhZF9jZmdfd29yZDsKK2V4dGVybiB1MzIgbnVtX3BjaV9iaW9zX3JlYWRfY2ZnX2R3b3JkOworZXh0ZXJuIHUzMiBudW1fcGNpX2Jpb3Nfd3JpdGVfY2ZnX2J5dGU7CitleHRlcm4gdTMyIG51bV9wY2lfYmlvc193cml0ZV9jZmdfd29yZDsKK2V4dGVybiB1MzIgbnVtX3BjaV9iaW9zX3dyaXRlX2NmZ19kd29yZDsKK2V4dGVybiB1MzIgbnVtX3BjaV9iaW9zX2dldF9pcnFfcm91dGluZzsKK2V4dGVybiB1MzIgbnVtX3BjaV9iaW9zX3NldF9pcnE7CitleHRlcm4gdTMyIG51bV9wY2lfYmlvc191bmtub3duX2Z1bmN0aW9uOworCit2b2lkIHByaW50X2Jpb3NfYmlvc19zdGF0KHZvaWQpCit7CisJcHJpbnRmKCIxNiBiaXQgZnVuY3Rpb25zOlxuIik7CisJcHJpbnRmKCJwY2lfYmlvc19wcmVzZW50OiAgICAgICAgICAgICAgICAlZFxuIiwgUkVMT0NfMTYoMHhmMDAwLCBudW1fcGNpX2Jpb3NfcHJlc2VudCkpOworCXByaW50ZigicGNpX2Jpb3NfZmluZF9kZXZpY2U6ICAgICAgICAgICAgJWRcbiIsIFJFTE9DXzE2KDB4ZjAwMCwgbnVtX3BjaV9iaW9zX2ZpbmRfZGV2aWNlKSk7CisJcHJpbnRmKCJwY2lfYmlvc19maW5kX2NsYXNzOiAgICAgICAgICAgICAlZFxuIiwgUkVMT0NfMTYoMHhmMDAwLCBudW1fcGNpX2Jpb3NfZmluZF9jbGFzcykpOworCXByaW50ZigicGNpX2Jpb3NfZ2VuZXJhdGVfc3BlY2lhbF9jeWNsZTogJWRcbiIsIFJFTE9DXzE2KDB4ZjAwMCwgbnVtX3BjaV9iaW9zX2dlbmVyYXRlX3NwZWNpYWxfY3ljbGUpKTsJCisJcHJpbnRmKCJwY2lfYmlvc19yZWFkX2NmZ19ieXRlOiAgICAgICAgICAlZFxuIiwgUkVMT0NfMTYoMHhmMDAwLCBudW1fcGNpX2Jpb3NfcmVhZF9jZmdfYnl0ZSkpOworCXByaW50ZigicGNpX2Jpb3NfcmVhZF9jZmdfd29yZDogICAgICAgICAgJWRcbiIsIFJFTE9DXzE2KDB4ZjAwMCwgbnVtX3BjaV9iaW9zX3JlYWRfY2ZnX3dvcmQpKTsKKwlwcmludGYoInBjaV9iaW9zX3JlYWRfY2ZnX2R3b3JkOiAgICAgICAgICVkXG4iLCBSRUxPQ18xNigweGYwMDAsIG51bV9wY2lfYmlvc19yZWFkX2NmZ19kd29yZCkpOworCXByaW50ZigicGNpX2Jpb3Nfd3JpdGVfY2ZnX2J5dGU6ICAgICAgICAgJWRcbiIsIFJFTE9DXzE2KDB4ZjAwMCwgbnVtX3BjaV9iaW9zX3dyaXRlX2NmZ19ieXRlKSk7CisJcHJpbnRmKCJwY2lfYmlvc193cml0ZV9jZmdfd29yZDogICAgICAgICAlZFxuIiwgUkVMT0NfMTYoMHhmMDAwLCBudW1fcGNpX2Jpb3Nfd3JpdGVfY2ZnX3dvcmQpKTsKKwlwcmludGYoInBjaV9iaW9zX3dyaXRlX2NmZ19kd29yZDogICAgICAgICVkXG4iLCBSRUxPQ18xNigweGYwMDAsIG51bV9wY2lfYmlvc193cml0ZV9jZmdfZHdvcmQpKTsKKwlwcmludGYoInBjaV9iaW9zX2dldF9pcnFfcm91dGluZzogICAgICAgICVkXG4iLCBSRUxPQ18xNigweGYwMDAsIG51bV9wY2lfYmlvc19nZXRfaXJxX3JvdXRpbmcpKTsKKwlwcmludGYoInBjaV9iaW9zX3NldF9pcnE6ICAgICAgICAgICAgICAgICVkXG4iLCBSRUxPQ18xNigweGYwMDAsIG51bV9wY2lfYmlvc19zZXRfaXJxKSk7CisJcHJpbnRmKCJwY2lfYmlvc191bmtub3duX2Z1bmN0aW9uOiAgICAgICAlZFxuIiwgUkVMT0NfMTYoMHhmMDAwLCBudW1fcGNpX2Jpb3NfdW5rbm93bl9mdW5jdGlvbikpOworCit9CisjZW5kaWYKKworI2RlZmluZSBQQ0lfQ0xBU1NfVklERU8gICAgICAgICAgICAgMworI2RlZmluZSBQQ0lfQ0xBU1NfVklERU9fU1REICAgICAgICAgMAorI2RlZmluZSBQQ0lfQ0xBU1NfVklERU9fUFJPR19JRl9WR0EgMAorCisKK3N0YXRpYyB1MzIgcHJvYmVfcGNpX3ZpZGVvKHZvaWQpCit7CisJcGNpX2Rldl90IGRldmJ1c2ZuOworCQorCWlmICgoZGV2YnVzZm4gPSBwY2lfZmluZF9jbGFzcyhQQ0lfQ0xBU1NfVklERU8sIAorCQkJCSAgICAgICBQQ0lfQ0xBU1NfVklERU9fU1RELCAKKwkJCQkgICAgICAgUENJX0NMQVNTX1ZJREVPX1BST0dfSUZfVkdBLCAwKSkgIT0gLTEpIHsKKwkJdTMyIG9sZDsKKwkJdTMyIGFkZHI7CisJCQorCQkvKiBQQ0kgdmlkZW8gZGV2aWNlIGRldGVjdGVkICovCisJCXByaW50ZigiRm91bmQgUENJIFZHQSBkZXZpY2UgYXQgJTAyeC4lMDJ4LiV4XG4iLCAKKwkJICAgICAgIFBDSV9CVVMoZGV2YnVzZm4pLCBQQ0lfREVWKGRldmJ1c2ZuKSwgUENJX0ZVTkMoZGV2YnVzZm4pKTsKKwkJCisJCS8qIEVuYWJsZSBJL08gZGVjb2RpbmcgYXMgd2VsbCwgUENJIHZpdWRlbyBib2FyZHMKKwkJICogc3VwcG9ydCBJL08gYWNjZXNzZXMsIGJ1dCB0aGV5IHByb3ZpZGUgbm8KKwkJICogYmFyIHJlZ2lzdGVyIGZvciB0aGlzIHNpbmNlIHRoZSBwb3J0cyBhcmUgZml4ZWQuCisJCSAqLworCQlwY2lfd3JpdGVfY29uZmlnX3dvcmQoZGV2YnVzZm4sIFBDSV9DT01NQU5ELCBQQ0lfQ09NTUFORF9NRU1PUlkgfCBQQ0lfQ09NTUFORF9JTyB8IFBDSV9DT01NQU5EX01BU1RFUik7CisJCQorCQkvKiBUZXN0IHRoZSBST00gZGVjb2RlciwgZG8gdGhlIGRldmljZSBzdXBwb3J0IGEgcm9tPyAqLworCQlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2YnVzZm4sIFBDSV9ST01fQUREUkVTUywgJm9sZCk7CQkKKwkJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXZidXNmbiwgUENJX1JPTV9BRERSRVNTLCBQQ0lfUk9NX0FERFJFU1NfTUFTSyk7CisJCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXZidXNmbiwgUENJX1JPTV9BRERSRVNTLCAmYWRkcik7CisJCXBjaV93cml0ZV9jb25maWdfZHdvcmQoZGV2YnVzZm4sIFBDSV9ST01fQUREUkVTUywgb2xkKTsKKwkJCQkKKwkJaWYgKCFhZGRyKSB7CisJCQlwcmludGYoIlBDSSBWR0EgaGF2ZSBubyBST00/XG4iKTsKKwkJCXJldHVybiAwOworCQl9CisJCQorCQkvKiBkZXZpY2UgaGF2ZSBhIHJvbSAqLworCQlpZiAocGNpX3NoYWRvd19yb20oZGV2YnVzZm4sICh2b2lkKikweGMwMDAwKSkgeyAKKwkJCXByaW50ZigiU2hhZG93aW5nIG9mIFBDSSBWR0EgQklPUyBmYWlsZWRcbiIpOworCQkJcmV0dXJuIDA7CisJCX0KKwkJCisJCS8qIE5vdyBlbmFibGUgbGFnYWN5IFZHQSBwb3J0IGFjY2VzcyAqLworCQlpZiAocGNpX2VuYWJsZV9sZWdhY3lfdmlkZW9fcG9ydHMocGNpX2J1c190b19ob3NlKFBDSV9CVVMoZGV2YnVzZm4pKSkpIHsKKwkJCXByaW50ZigiUENJIFZHQSBlbmFibGUgZmFpbGVkXG4iKTsKKwkJCXJldHVybiAwOworCQl9CisJCQkJCisJCisJCS8qIHJldHVybiB0aGUgcGNpIGRldmljZSBpbmZvLCB0aGF0IHdlJ2xsIG5lZWQgbGF0ZXIgKi8KKwkJcmV0dXJuIFBDSV9CVVMoZGV2YnVzZm4pIDw8IDggfCAKKwkJCVBDSV9ERVYoZGV2YnVzZm4pIDw8IDMgfCAoUENJX0ZVTkMoZGV2YnVzZm4pJjcpOworCX0KKwkKKwlyZXR1cm4gMDsKK30KKworCisjZW5kaWYKKworc3RhdGljIGludCBwcm9iZV9pc2FfdmlkZW8odm9pZCkKK3sKKwl1MzIgcHRyOworCWNoYXIgKmJ1ZjsJCisJCisJaWYgKDAgPT0gKHB0ciA9IGlzYV9tYXBfcm9tKDB4YzAwMDAsIDB4ODAwMCkpKSB7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKE5VTEwgPT0gKGJ1Zj1tYWxsb2MoMHg4MDAwKSkpIHsKKwkJaXNhX3VubWFwX3JvbShwdHIpOworCQlyZXR1cm4gLTE7CisJfQorCWlmIChyZWFkdyhwdHIpICE9IDB4YWE1NSkgeworCQlmcmVlKGJ1Zik7CisJCWlzYV91bm1hcF9yb20ocHRyKTsKKwkJcmV0dXJuIC0xOworCX0KKwkKKwkvKiBzaGFkb3cgdGhlIHJvbSAqLworCW1lbWNweShidWYsICh2b2lkKilwdHIsIDB4ODAwMCk7CisJaXNhX3VubWFwX3JvbShwdHIpOworCW1lbWNweSgodm9pZCopMHhjMDAwMCwgYnVmLCAweDgwMDApOworCQorCWZyZWUoYnVmKTsKKwkKKwlyZXR1cm4gMDsKK30KKworaW50IHZpZGVvX2Jpb3NfaW5pdCh2b2lkKQoreworCXN0cnVjdCBwdF9yZWdzIHJlZ3M7CisKKwkvKiBjbGVhciB0aGUgdmlkZW8gYmlvcyBhcmVhIGluIGNhc2Ugd2Ugd2FybWJvb3RlZCAqLworCW1lbXNldCgodm9pZCopMHhjMDAwMCwgMCwgMHg4MDAwKTsJCisJbWVtc2V0KCZyZWdzLCAwLCBzaXplb2Yoc3RydWN0IHB0X3JlZ3MpKTsKKwkKKwlpZiAocHJvYmVfaXNhX3ZpZGVvKCkpIHsKKwkJLyogTm8gSVNBIGJvYXJkIGZvdW5kLCB0cnkgdGhlIFBDSSBidXMgKi8KKwkJcmVncy5lYXggPSBwcm9iZV9wY2lfdmlkZW8oKTsKKwl9CisJCisJLyogRGlkIHdlIHN1Y2NlZWQgaW4gbWFwcGluZyBhbnkgdmlkZW8gYmlvcyAqLworCWlmIChyZWFkdygweGMwMDAwKSA9PSAweGFhNTUpIHsKKwkgICAgICAgIGludCBzaXplOworCQlpbnQgaTsKKwkJdTggc3VtOworCQkKKwkJUFJJTlRGKCJGb3VuZCB2aWRlbyBiaW9zIHNpZ25hdHVyZVxuIik7CisJCXNpemUgPSA1MTIqcmVhZGIoMHhjMDAwMik7CisJCVBSSU5URigic2l6ZSAlZFxuIiwgc2l6ZSk7CisJCXN1bT0wOworCQlmb3IgKGk9MDtpPHNpemU7aSsrKSB7CisJCQlzdW0gKz0gcmVhZGIoMHhjMDAwMCArIGkpOworCQl9CisJCVBSSU5URigiQ2hlY2tzdW0gaXMgJXNPS1xuIixzdW0/Ik5PVCAiOiIiKTsKKwkJaWYgKHN1bSkgeworCQkJcmV0dXJuIDE7CisJCX0KKwkJCisJCS8qIHNvbWUgdmlkZW8gYmlvc2VzIChBVEkgTWFjaDY0KSBzZWVtIHRvIHRoaW5rIHRoYXQKKwkJICogdGhlIG9yaWdpbmFsIGludCAxMCBoYW5kbGVyIGlzIGFsd2F5cyBhdAorCQkgKiAweGYwMDA6MHhmMDY1ICwgcGxhY2UgYW4gaXJldCBpbnN0cnVjdGlvbiB0aGVyZQorCQkgKi8KKwkJd3JpdGViKDB4Y2YsIDB4ZmYwNjUpOworCQkKKwkJcmVncy5lc3AgPSAweDgwMDA7CisJCXJlZ3MueHNzID0gMHgyMDAwOworCQllbnRlcl9yZWFsbW9kZSgweGMwMDAsIDMsICZyZWdzLCAmcmVncyk7CisJCVBSSU5URigiSU5UIDB4MTAgdmVjdG9yIGFmdGVyOiAgJTA0eDolMDR4XG4iLAorCQkgICAgICAgcmVhZHcoMHg0MiksIHJlYWR3KDB4NDApKTsgCisJCVBSSU5URigiQklPUyByZXR1cm5lZCAlc2NhcnJ5XG4iLCByZWdzLmVmbGFncyAmIDE/IiI6Ik5PVCAiKTsKKyNpZmRlZiBQQ0lfQklPU19ERUJVRwkJCisJCXByaW50X2Jpb3NfYmlvc19zdGF0KCk7CisjZW5kaWYJCQorCQlyZXR1cm4gKHJlZ3MuZWZsYWdzICYgMSk7CisJCQorCX0KKwkKKwlyZXR1cm4gMTsKKwkKK30KKworCmRpZmYgLS1naXQgYS9saWJfaTM4Ni96aW1hZ2UuYyBiL2xpYl9pMzg2L3ppbWFnZS5jCmluZGV4IDE5MGQ0NmUuLjlkMzNiMmQgMTAwNjQ0Ci0tLSBhL2xpYl9pMzg2L3ppbWFnZS5jCisrKyBiL2xpYl9pMzg2L3ppbWFnZS5jCkBAIC0yMjAsOCArMjIwLDggQEAKIAkKIAltZW1zZXQoJnJlZ3MsIDAsIHNpemVvZihzdHJ1Y3QgcHRfcmVncykpOwogCXJlZ3MueGRzID0gKHUzMilzZXR1cF9iYXNlID4+IDQ7Ci0JcmVncy54c3MgPSAweDhlMDA7Ci0JcmVncy5lc3AgPSAweDIwMDsKKwlyZWdzLnhzcyA9IDB4OTAwMDsKKwlyZWdzLmVzcCA9IDB4OTAwMDsKIAlyZWdzLmVmbGFncyA9IDA7CiAJZW50ZXJfcmVhbG1vZGUoKCh1MzIpc2V0dXBfYmFzZStTRVRVUF9TVEFSVF9PRkZTRVQpPj40LCAwLCAmcmVncywgJnJlZ3MpOwogfQpkaWZmIC0tZ2l0IGEvbmV0L3JhcnAuYyBiL25ldC9yYXJwLmMKaW5kZXggMjc5ZTY1MC4uMWM4YWZmMCAxMDA2NDQKLS0tIGEvbmV0L3JhcnAuYworKysgYi9uZXQvcmFycC5jCkBAIC04NCwxMSArODQsMTEgQEAKIAogCXJhcnAgPSAoQVJQX3QgKilwa3Q7CiAKLQlyYXJwLT5hcl9ocmQgPSBBUlBfRVRIRVI7Ci0JcmFycC0+YXJfcHJvID0gUFJPVF9JUDsKKwlyYXJwLT5hcl9ocmQgPSBodG9ucyAoQVJQX0VUSEVSKTsKKwlyYXJwLT5hcl9wcm8gPSBodG9ucyAoUFJPVF9JUCk7CiAJcmFycC0+YXJfaGxuID0gNjsKIAlyYXJwLT5hcl9wbG4gPSA0OwotCXJhcnAtPmFyX29wICA9IFJBUlBPUF9SRVFVRVNUOworCXJhcnAtPmFyX29wICA9IGh0b25zIChSQVJQT1BfUkVRVUVTVCk7CiAJbWVtY3B5ICgmcmFycC0+YXJfZGF0YVswXSwgIE5ldE91ckV0aGVyLCA2KTsJLyogc291cmNlIEVUIGFkZHIgKi8KIAltZW1jcHkgKCZyYXJwLT5hcl9kYXRhWzZdLCAgJk5ldE91cklQLCAgIDQpOwkvKiBzb3VyY2UgSVAgYWRkciAqLwogCW1lbWNweSAoJnJhcnAtPmFyX2RhdGFbMTBdLCBOZXRPdXJFdGhlciwgNik7CS8qIGRlc3QgRVQgYWRkciA9IHNvdXJjZSBFVCBhZGRyID8/Ki8K